Fullstack

Fullstack

С нами с 13 апреля 2017; Место в рейтинге пользователей: #116

[Fenom] Динамические плейсхолдеры (и var-переменные) срабатывают только при первой загрузке страницы (когда она еще не закэширована)

Задаю в динамическом сниппете {'!get_country' | snippet} плейсхолдер с кодом страны:

Сниппет:
$modx->setPlaceholder('country_code', 'RU');
Вызываю данный сниппет на странице:
{'!get_country' | snippet}
{if $_modx->getPlaceholder('country_code') == 'RU'}
    Russia | {$_modx->getPlaceholder('country_code')}
{else}
    Other | {$_modx->getPlaceholder('country_code')}
{/if}
При первой загрузке страницы (пока ее нет в кэше) все срабатывает как положено.
Но при следующей загрузке страницы условие не срабатывает и при все том же коде 'RU' выдает «else» или наоборот… Странно как-то очень. Что с этим делать?

Может нужно каким-то образом (каким?) выводить и проверять некэшируемый плейсхолдер? Только как его сделать?
Fullstack
18 января 2022, 01:51
modx.pro
97
0

Было бы неплохо сделать конвертер MODX в Fenom. Я начал, но вряд ли смогу доделать

Надо как-то обрабатывать &параметры=значения,: модификаторы и чтобы при этом все работало слаженно, поэтому чувствую лично для меня уйдет на него много времени на то, чтобы учесть все моменты. Если эта тема конвертера тоже интересна, вот моя недоработанная наработка
Fullstack
09 января 2022, 03:20
modx.pro
616
+5

[Мультиязычность] Скрипт массовой связки разных языковых версий (в разных контекстах) по URI [Babel]

Надо добавить мультиязычность на сайт через Babel. Для этого была сделана русская версия (в контексте web) и затем сделаны ее копии (en и de).

Далее нужно было связать все версии языков ресурсов между собой.
Fullstack
27 февраля 2021, 23:04
modx.pro
7
723
+9

В опциях miniShop2 нельзя привязать опцию к ресурсам - контекст пуст

Попробовал поубирать компоненты (которых нет на тех сайтах, где все работает) и поотключать плагины — всё так же. Скриншот:



Ошибок при AJAX-запросе ресурсов контекста нет, просто отдается JSON ответ только с одним контекстом web.
Fullstack
30 ноября 2020, 22:08
modx.pro
159
0

[miniShop2] Не работает коллбэк добавления товара в корзину

Пробовал такой вариант:

miniShop2.Callbacks.add('Cart.add.response.success', 'add_ok', function (response) {
	console.log(response);
});

Такой:

miniShop2.Callbacks.Cart.add.response.success = function (response) {
	console.log(response);
};

И даже такой:

function added_to_cart(response) {
	console.log(response);
}
miniShop2.Callbacks.add('Cart.add.response.success', 'added_to_cart', function() { });

Но ни один не срабатывает. Ошибок в консоли JS нет. Компонент последней версии, пробовал переустановить, но все так же тщетно
Fullstack
22 сентября 2020, 17:56
modx.pro
577
0

[miniShop2] Как идентифицировать на фронтенде товар, успешно добавленный в корзину?

В каталоге нужно обратиться к товарам в DOM через JS, но надо как-то идентифицировать товар, который был добавлен в корзину и обработан бэкенд-плагинами MODX.

Использую данный callback на фронтенде для отлова события товара, успешно добавленного в корзину:
document.addEventListener('DOMContentLoaded', function () {
		if (typeof miniShop2 !== 'undefined') {
			miniShop2.Callbacks.add('Cart.add.response.success', 'add_ok', function (response) {
				console.log(response);
			});
		}
	});
В ответе получаю только ключ товара в корзине, но никак ни его идентификатор, по которому добавленный товар можно найти на странице
Fullstack
12 мая 2020, 20:41
modx.pro
579
0

[Tickets] Не заполняется createdby в modx_tickets_threads

В таблице `modx_tickets_threads` последнее время поле createdby почему-то всегда равно 0.
При создании новых тикетов, и изменении автора в существующих (например явно меняю автора тикета в ресурсе, а поле createdby в `modx_tickets_threads` все равно остается 0). Это поле почему-то всегда 0, хотя у части тикетов оно заполнено (у 2070 заполнено, у 19507 не заполнено).

Это баг или оно заполняет данное поле при каких-то особых условиях?
Просто если я напишу плагин-фикс (пускай это и костыль), то на большом сайте тикеты могут начать работать неправильно, а что хуже — посыпаться (если данное поле и не должно заполняться, а я его буду заполнять). Это ответственность.

И еще, как связаться с разработчиком? На обратную связь нет ни намека, GitHub Issues выключен, а на e-mail, указанный в GitHub'е, разработчик не отвечает. Как тут сообщаются баг-репорты?
Fullstack
12 февраля 2020, 05:59
modx.pro
176
0

BabelLinks выводит везде только EN версию сайта

Если зайти на mine.by/play, видно ссылку на EN версию сайта, здесь правильно. Но если зайти на en.mine.by/play (EN версия), там будет та же самая ссылка вместо RU версии). Как это исправить?

Настройки:
Fullstack
04 мая 2018, 02:20
modx.pro
694
0

Контейнер перестает раскрываться, если внутри много ресурсов

Проблема идентична этой: modx.ru/vopros-otvet/info/1710/

Когда в дереве очень много ресурсов (~1300), оно при раскрытии сначала долго грузится, а потом ничего не появляется. По ссылке выше прочитал, что у MODX'а есть лимит — 250 дочерних ресурсов. Не знаю насколько это правда, но проблему надо решать. Она наблюдается уже на двух сайтах. Как быть?

Скриншот:

Fullstack
01 мая 2018, 04:11
modx.pro
716
0

Как вывести минимальную и максимальную цену?

Как вывести минимальную и максимальную цену товаров категории?

Сами товары выводятся так:
Fullstack
26 апреля 2018, 16:57
modx.pro
1 025
0