Всего 123 801 комментарий

Петропавловский Артем
13 января 2023, 18:45
0
Лучшее решение — это написанное собой под конкретную задачу)
Prihod
13 января 2023, 17:56
0
$polylang = $modx->getService('polylang', 'Polylang');
$action = 'mgr/polylangcontent/create';
//$action = 'mgr/polylangcontent/update';

 /** @var modProcessorResponse $response */
$response = $polylang->runProcessor($action,$data);
 if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, $response->getMessage());
}
ключи/значения для массива в $data посмотри в консоли браузера на вкладке сеть при создании/редактировании локализации
Prihod
13 января 2023, 17:51
0
Ну так ты сам ответил на свой вопрос. Делай перевод не на прямую в БД, а с использованием процессора который использует дополнение для создания или обновления локализации
Сергей Карпович
13 января 2023, 17:11
0
Ситуация такая, что переводы мы пишем в базу напрямую.
Из за этого локализация товара не сохраняется…
Т.е. если зайти в редактор товара, открыть редактирование локализации и просто нажать «Сохранить», перевод начинает выводится
Сергей Карпович
13 января 2023, 16:20
0
Ребята нужна помощь:
msProductOptions выводит не переведенные значения опций у некоторых товаров.

У товаров добавлена локализация, в ней в опциях прописаны переведенные значения.
Но при выводе на странице, тянутся все равно значения дефолтные — русские.
А в некоторых товарах норм выводится. ХЗ что делать…

вывожу так:
[[!msProductOptions? &tpl=`tpl-msProductOptions` &ignoreOptions=`dimensions`]]
В чанке:
{foreach $options as $option}
    <div class="page-item-param">
        <label class="item-param-name">{('ms2_product_' ~ $option.key) | lexicon}:</label>
        <div class="item-param-val">
            {if $option.value is array}
                {$option.value | join : ', '} {$option.measure_unit}
            {else}
                {$option.value} 
            {/if}
        </div>
    </div>
{/foreach}
Пример товара где опции выводятся переведенные (опция Material):
shop.miniwarpaint.ru/en/shop/stuff/dlya-dioram-i-baz/priroda/pshenicza-razmer-l

А тут выводятся дефолтные (опция Material):
shop.miniwarpaint.ru/en/shop/stuff/dlya-dioram-i-baz/priroda/pshenicza-razmer-l

Подскажи, плиз, что не так?
Алексей Смирнов
13 января 2023, 16:13
0
Почему тикетсы не устраивают?
Сергей Карпович
13 января 2023, 15:07
0
Отличная работа. Видно развитие в нужную строну. Правда «штуковины»… аж зубы сводит =)
Дима Касаткин
13 января 2023, 13:58
0
Наконец-то! Теперь простые магазины можно будет разворачивать не копированием всего движка, а накатыванием темы на свежий движок, и не тиражировать старые баги!

Респект за большую работу!
Niyaz
13 января 2023, 11:59
+1
Здравствуйте!

Большое спасибо за плагин! До этого использовал Mobile Detection, но на php8.1 он почему то не заработал. Установил Ваш плагин — все заработало, даже переделывать ничего не пришлось.
weranda
13 января 2023, 11:41
0
А готовые и платные?
Vladimir
13 января 2023, 11:31
0
Я даже уже расширил класс, и добавил просто даже текстом
$msOrder->set('test', 'test1');
        $msOrder->set('test3', 'test2');
у меня всё равно данные записываются только в последнее поле установленное в коде
Артур Шевченко
13 января 2023, 11:27
0
Готовых и бесплатных никаких.
Артур Шевченко
13 января 2023, 11:25
0
Наверное стоит показать реальный код плагина целиком.
Артур Шевченко
13 января 2023, 11:20
0
Параметр конкретного ресурса не может быть глобальным — он привязан к ресурсу. Соответственно и получить его можно по ID этого ресурса.
Алексей Смирнов
13 января 2023, 11:19
0
сквозные-глобальные настройки доступны через ++
поэтому в текущем контексте чтобы узнать cultureKey нужно написать [[++cultureKey]] и посмотреть на странице что он выводит.
Если у вас есть параметр под одним названием — впишите его [[++ИМЯ-ВАШЕГО-КЛЮЧА]]
И все получится.
Если это не помогло или суть у вас другая — распишите более детально что откуда хотите брать и для чего.
Антон Тарасов
13 января 2023, 11:08
0
EasyComm, но если вы хотите под каждый отзыв свою страницу/ресурс, то вот здесь также можно пообсуждать
Konstantin
13 января 2023, 11:00
0
Хоть и старая тема, но может кому-то как и мне нужен подобный функционал, поэтому выкладываю простое решение здесь

1) ставим пакет mixedimage который создает поле загрузки файлов с расширенными параметрами
2) создаем поле TV из mixedimage и указываем в настройках путь до файла {id}/ и теперь загружаться фотка будет в отдельную папку с номером ID ресурса
3) создаем новый плагин и выбираем событие OnResourceDelete, и прописываем такой код:

/** recursive remove dir function */
    function rrmdir($dir) {
        if (is_dir($dir)) {
            $objects = scandir($dir);
            foreach ($objects as $object) {
				if ($object != "." && $object != "..") {
					if (filetype($dir . "/" . $object) == "dir") {
						rrmdir($dir . "/" . $object);
					} else {
						@unlink($dir . "/" . $object);
					}
				}
			}
            reset($objects);
            $success = @rmdir($dir);
        }

    }

$path = $modx->getOption('base_path') . 'assets/images/';  // replace with actual path to directory

$path .=  $id;
 
rrmdir($path);
Антон Тарасов
13 января 2023, 10:37
0
, базовый в index.php, а вообще от плагинов зависит какой будет запущен