Всего 125 947 комментариев

Алексей Смирнов
15 июня 2022, 10:40
0
Если у категорий есть свой (а он по идее должен быть) шаблон, то можно попробовать через SELECT:
@SELECT `pagetitle`,`id` FROM `[[+PREFIX]]site_content` WHERE `published` = 1 AND `deleted` = 0 AND `template` = 15 ORDER BY pagetitle ASC;
Алексей
15 июня 2022, 10:16
0
Да. Я пробовал вот так
{set $rows = 20 | resource : 'group' | fromJSON}
{foreach $rows as $row}
<li {$row.group | join | replace:",":" "}>
    <div class="uk-card uk-card-default uk-card-body">Item</div>
</li>
{/foreach}
Опять выводиться только первое значение
Николай Савин
15 июня 2022, 09:18
0
Нормально вы бахнули, версий 20 вверх )
Дмитрий
15 июня 2022, 09:12
+1
Тоже столкнулся с такой проблемой, вчера обновил minishop с 2.5.0 до 3.0.4 и перестали данные записываться в таблицу `ms2_order_addresses`, мне помогло поменять тип связи 'composites' на 'aggregate' и 'owner' c 'local' на 'foreign' в minishop2.mysql.schema.xml:
<object class="msOrder" ....>
<aggregate alias="Address" class="msOrderAddress" local="address" foreign="id" cardinality="one"
                   owner="foreign"/>
и в msOrder.map.inc.php:
Перенести из composites в aggreagtes:
'Address' = (...., 'owner' => 'foreign')
Николай Савин
15 июня 2022, 08:51
+2
Здравствуйте. Проблему зафиксировал. Будем решать
Александр Мельник
15 июня 2022, 07:11
+2
Можно я поразмышляю вслух? Это не вопрос к автору поста и речь не о конкретно minishop, а просто так — подискутировать с утра.
Что заставляет нас устанавливать обновления?
Мифическая вера в то, что каждая свежая версия программного обеспечения «лучше» предыдущей?
Но так ли это на самом деле? Справедливо ли это для любого программного обеспечения? Как оценить плюсы и минусы обновления? Что правильнее?
1) каждый раз все обновлять и тем самым сильно увеличивать риск возникновения сбоев в своем продукте (ведь по сути если наш код зависит от чьих-то сторонних компонентов, то мы обязаны просто «верить», что разработчик выпуская новую версию исправил в ней больше багов чем добавил).
2) Или же единожды собрав стабильную систему (пусть и из сторонних компонентов) и тестами и временем убедившись, что именно эти версии компонентов хорошо работают в связке друг с другом, оставить систему в таком стабильном состоянии и ничего не обновлять? Ведь «лучшее это враг хорошего», как говорит народная мудрость и попытке улучшить то что и так работает хорошо, скорее всего приведет к тому, что все станет работать плохо.

А теперь просто о моем личном опыте, хотя это совершенно не показатель что такой подход правильный.
Начну с операционной системы. Я на всех своих устройствах пользуюсь линуксом на базе debian. Это и сервера и мои копмьютеры. Эти дистрибутивы разрабатываются очень крутой компанией canonical, новые версии выходят каждые 6 месяцев. И даже при условии, что разработкой занимаются профи, есди скачать релиз в день его выхода — он будет полон глюков. У людей 6 месяцев на доработку и тесты, люди профи и все равно в релизе много багов. Только через пару месяцев его уже можно скачать и кайфовать.
Если говорить про modx. Из многих десятков сайтов, которые у нас есть, 80 процентов работает на modx 2.65 и прекрасно выполняет свои функции. Да, разрабатывая новый сайт, я беру самые последние версии компонентов. Но сделав один раз продукт, который показывает свою стабильность и полностью устраивает и меня и заказчика — я не вижу смысла что то в нем менять. Каждый раз, когда я пытаюсь что то обновить, возникают те или иные проблемы. И хорошо если этот баг сразу виден, например сайт полностью упал, но куда страшнее баги, которые не столь очевидны и вылазят спустя месяц после обновления. Да, я даже соглашусь, что такие баги при обновлении скорее всего говорят о моем невысоком уровне знаний (хотя исходники компонентов я никогда не правлю), но факт остается фактом, чем меньше я обновляю — тем стабильнее наши проекты. Такой вот парадокс.
Елизавета
15 июня 2022, 07:09
0
В modx 3 выпилили @EVAL. Как теперь можно запустить конструкцию
@EVAL $output = $modx->runSnippet('snippet');return '' . $output;
?
Артур Шевченко
15 июня 2022, 01:47
0
Проблема есть, но ХЗ как её решить.
Shedko Denis
14 июня 2022, 22:15
0


marketplace.datastrg.ру

Не отдает ничего, нет даже 200 ответа по этим ссылкам, надо с ним разбираться. Может запрещен hot-linking.
Тогда phumb в помощь, на некоторых хостингах сам скачает рисунок и к себе положит.
nikolrazumov
14 июня 2022, 21:01
0
У меня Firefox картинки не отображаются.
vectorserver
14 июня 2022, 12:44
0
Вместо "MIGX_TV" укажи свой TV.
<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || empty($_REQUEST['action'])) {exit();}

$action = $_REQUEST['action'];

/* @global $modx*/
define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)).'/index.php';
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_FATAL);

$output = array();

switch ($action) {
    case 'getContent':
        $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
        if (empty($id)) {
            exit();
        };
        $object = $modx->getObject('modResource',$id);
        $output['content'] = $object->get('content');
        $output['pagetitle'] = $object->get('pagetitle');

        $output['MIGX_TV'] = json_encode($object->getTVValue('MIGX_TV'),true);

        $output = json_encode($output);
        break;
    default:
        $output = array("st"=>"error");
}

header('Content-Type: application/json; charset=utf-8');
echo json_encode($output);
Илья Уткин
14 июня 2022, 11:13
+1
Создать накладную автоматически может, трек-номер в письме отправить нельзя, но CDEK сам отправляет пользователю уведомление — «Для вас создана новая посылка». И дальше все уведомления CDEK так же отправляет.

Данные клиента нельзя «украсть» — они передаются только в API CDEK-а
Алексей
14 июня 2022, 10:15
0
Илья, привет. Ответьте пожалуйста на три вопроса по компоненту CDEKIntegrate.
Компонент может сам автоматически для оплаченного заказа создать накладную.

А потом компонент автоматически отправит трек-номер в стандартном MS2 емайле клиенту tpl.msEmail.sent.user (Cтатус «Заказ отправлен»)?

А потом компонент еще раз отправит трек-номер в емайле tpl.msEmail.sent.user2 со статусом «готово к выдаче»?

А данные клиента при этом невозможно «украсть»? Насколько безопасна передача личных данных. Понятно что супер спец всё может украсть. Но надо чтобы не все подряд смогли личные данные увидеть.
Илья Уткин
14 июня 2022, 07:50
+1
Я больше про сам сниппет chunk — он ведь всё равно на каждой странице вызывается, но единственное, что сниппет делает — проверяет, есть ли данные в кеше и, если есть, выводит их.
Andry
14 июня 2022, 07:23
0
Поэтому если внутри сниппета ты добавишь своё кеширование, то ты можешь это поведение исправить. Вот так — ilyaut.ru/tips-and-tricks/site-optimization-on-modx-revolution/
Только у вас тут не про сниппеты, а про чанки, да? Интересный прием оптимизации сайта, спасибо :-).
Артур Шевченко
14 июня 2022, 01:09
0
С точки зрения семантики всё как раз верно, это список, вот он и размечен соответствующим образом, а вы хотите впихнуть туда семантики абсолютно нейтральный тэг div. Впрочем, дело ваше.
Артур Шевченко
14 июня 2022, 00:37
+1
Убери чанки из инлайна и будет хорошо. Можно всё в два чанка уложить.
Дмитрий
14 июня 2022, 00:37
0
Согласен, можно добавить классов и стилей, но проект на Bootstrap, необходимо придерживаться семантики. Спасибо