Дмитрий

Дмитрий

С нами с 16 декабря 2015; Место в рейтинге пользователей: #47
Дмитрий
25 марта 2018, 17:57
0
Путем простого добавления контекста в админку поддомен не появится. Контекст это просто абстрактная сущность, отдельный контейнер для хранения. Поэтому нужно научить систему работать с ним.
Во-первых надо создать и привязать поддомен.
Во-вторых сделать плагин на событие OnHandleRequest c таким кодом:
<?php
// Работаем только на фронтенде
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

// Определяем запрашиваемый хост
$host = $_SERVER['HTTP_HOST'];

// Выбираем контекст с настройкой base_url
$q = $modx->newQuery('modContextSetting', array('key' => 'http_host', 'value' => $host));
$q->select('context_key');

$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
	// Учитываем наш запрос в БД
	$modx->queryTime += microtime(true) - $tstart;
	$modx->executedQueries++;
	// Получаем ключ контекста
	if ($context = $q->stmt->fetch(PDO::FETCH_COLUMN)) {
		// Web инициализируется в index.php - на него переключаться не нужно
		if ($context != 'web') {
			$modx->switchContext($context);
		}
	}
}
ну и должно заработать.
Дмитрий
21 марта 2018, 17:14
+1
В заготовке для создания компонентов modExtra уже есть почти всё необходимое. В частности, уже описан интерфейс в админке. Останется только подправить немножко под ваши поля и всё. Ну и написать плагин на событие. Если посидеть усердно пару дней, а не усердно с недельку — то можно разобраться и сделать.
Дмитрий
20 марта 2018, 00:54
+1
Вообще, по идее, Fenom работает на фронте, поэтому сломать админку вряд ли мог.
Надо смотреть, что за волшебный костыль {$fixfenom} и лог консоли браузера. Плюс проверить все плагины, может где-то на событиях вставлен какой-нибудь кастомный JS, который всё ломает. Ну и проверить логи самого MODX, офкорс. В общем, есть где поковыряться :)
Дмитрий
16 марта 2018, 22:19
0
ток вот как его изменить, чтобы минюфикс не ругался
Юзать gulp, например :)
Дмитрий
16 марта 2018, 21:34
0
Жду не дождусь того момента, когда сам пощупаю этот модуль. Всё как-то задача не появляется(((
Дмитрий
16 марта 2018, 12:11
0
1) Перепишите всё на Fenom. На этот монструозный isnot:then:empty:then:etc by MODX смотреть совершенно не понятно. Да и в одном месте два разных синтаксиса держать как-то не комильфо
2) Фигурные скобки в Fenom — это что-то вроде <?php ?>, они открывают работу шаблонизатора и закрывают ее. Поэтому писать
{$_modx->resource.title ?: '{$_modx->resource.title}' }"
Неправильно.

Нужно (пример с pagetitle и longtitle):
{$_modx->resource.longtitle ? $_modx->resource.longtitle : $_modx->resource.pagetitle}
Дмитрий
16 марта 2018, 10:53
0
Для того, чтобы это выяснить, нужно расковырять исходный код страницы и посмотреть, что да как работает.
Вообще да, там используется JavaScript, но как-то очень убого используется, что срабатывает только при перезагрузке. В основы jQuery можно врубится за пару дней совершенно точно. Тем более в коде страницы код простой.
Поковыряйтесь вот здесь, разберитесь, как работает.


Дмитрий
15 марта 2018, 18:47
+1
Если знаний не хватает, то их нужно найти :) Особенно, если это касается достаточно элементарных задач, которые уже сотни десятков тысяч раз решались. Пример с одного рабочего проекта. Выводит практически такое же меню. Только без картинок. Ну и их легко вывести путем подключения ТВ к ресурсам.
Всё, что нужно — это внимательно почитать документацию по pdoMenu
<div class="collapse-panel filter-catalog">
            {$_modx->runSnippet('pdoMenu',[
                'parents' => 2,
                'resources' => '-12,-30,-31',
                'level' => 3,
                'templates' => '-3',
                'tplOuter' => '@FILE:chunks/shop/filter/catalogMenu.outer.tpl',
                'tpl' => '@FILE:chunks/shop/filter/catalogMenu.lev1.row.tpl',
            ])}
        </div>
Дмитрий
13 марта 2018, 20:57
0
так HybridAuth отвалился же на днях, неудивительно, что и этот модуль тоже упал. Очередное внезапное обновление API VK. В прошлом году я возился с динамическими обложками для групп ВК, так обновление API для работы с фотографиями групп менялось каждые две-три недели. Мы запарились этот модуль переделывать.
Дмитрий
12 марта 2018, 18:12
0
Честно, не очень понял о чем. Ну можете попробовать клонировать сниппет и его использовать. Но не думаю, что это хорошая идея.
Дмитрий
12 марта 2018, 14:50
+1
Способов полно
1) Передать из чанка в чанк:
{$_modx->getChunk('orderOuter',[
	'products' => $products
])}
2) Попробовать метод getPlaceholder():
{var $products = $_modx->getPlaceholder('products')}
3) Вероятно, еще как-то можно.

p.s. за 100% работоспособность кода не ручаюсь, проверить некогда, но мысли верные
Дмитрий
12 марта 2018, 13:31
0
Проблема 90% в том, что где-то у вас лишний символ { затесался. Поищите по коду страницы и вставьте пробел типа, { padding-
Дмитрий
12 марта 2018, 10:53
+1
А так?
{if $_modx->resource.isfolder > 0}
 {include 'somechunk'}
{/if}
Дмитрий
10 марта 2018, 18:34
-1
1) Никогда не понимал, зачем делать ТВ поля для SEO. Стандартных предостаточно.
2) Ну тут да, может немножко обманул.
5) Вообще можно, возможности для этого же есть. Не нравится — можно сделать по-другому. Но возможности — есть.
Дмитрий
10 марта 2018, 17:10
-1
Рядовой магазин. Пункты 1, 2, 3, 4, 5 уже есть в MODX и miniShop2 из коробки. В принципе и 10 тоже в miniShop2 уже есть, зависит от того, по какому пути пойдете.
6 и 13 есть в modstore
Остальное вообще элементарно.
Если хочется деталей, то это звучит как «расскажите, как мне сделать такой магазин подробно» и явно не бесплатно
Дмитрий
10 марта 2018, 03:15
0
Пожалуйста, перенесите топик в раздел «Вопросы». У каждого раздела есть своё описание, и раздел «Сайты на MODX» предназначены для того, чтобы рассказывать, что же вы такого клевого сделали, а не для того, чтобы спросить, как что-то сделать на MODX.
А вектор решения — почитайте про чанки, параметры сниппетов (в частности, &tpl) и будет вам счастье. Уроков полно.
Дмитрий
09 марта 2018, 15:09
0
Если почитать комментарии, то можно увидеть ответы на эти вопросы
Дмитрий
08 марта 2018, 12:49
+1
Крууууто. Жду не дождусь теперь!
Дмитрий
08 марта 2018, 12:41
0
Всё сижу и обдумываю еще вопросы, т.к. новость очень хорошая. Хочу еще спросить следующее:
1) Перенос контроллеров и процессоров на REST планируется до первого релиза, или уже после? Насколько сильно первые дополнения, написанные под 3-ю версию придется переписывать к релизу 3.2 например? Есть ли понимание, насколько сильно будет штормить систему на старте?
2) xPDO и общая концепция системы остается — обновляется только подход ко всему этому, осовременивание, верно? Я правильно понял, что для того, чтобы развернуть на MODX 3 простенький бложек или визиточку, достаточно будет дождаться релиза pdoTools для 3 версии?