Андрей

Андрей

Был в сети 25 июня 2026, 01:11
Заказы принимаю
Сергей
Сергей
1
+5
У всех что — то больно сложные решения для такой простой задачи.
в MODX же есть стандартное решение. Выбираете нужного пользователя и просто переопределяете настройку use_editor или which_editor и все
Aleksandr Huz
Aleksandr Huz
1
+1
Можно через модификатор:
$fenom->addModifier('tvname', function ($tvname) {
    // Получаем объект TV по имени
    $tv = $modx->getObject('modTemplateVar',array('name' => $tvname));
    // id текущего ресурса
    $id = $modx->resource->id;
    // значение tv
    $value = $tv->renderOutput($id);
    
    // Ищем необходимое значение и возвращаем навазние
    $tvlist = explode('||', $tv->get('elements'));
    foreach ($tvlist as $item) {
        $arr = explode('==',$item);
        if($arr[1] == $value) {
            return $arr[0];
        }
    }
    return $tvname;
});

В чанке:
{'name TV' | tvname}
shtyrman
shtyrman
2
+2
Сергей, тут все упирается в знание js и мониторинг информации за бугром. Если на modx информации порой вообще нет, то на какие то решения в js и подавно хрен что найдешь.
Если вас интересует как стартануть в full stack, то у меня был такой процесс:
— изучаем js. 3-е издание \ Этан Браун
— секреты JavaScript ниндзя. Второе издание
— js подробное руководство. 6-е издание
— веб-разработка с применение node и express \ Итан Браун
— React и Redux. Функциональная веб-разработка
Этого будет достаточно что бы понять как все устроенно и плавать дальше самому, используя документации.
Руслан Алеев
Руслан Алеев
1
+2
Здравствуйте, Иван, давеча мы обсуждали дополнительный функционал и об ненужности внедрения излишнего функционала в MODX3, однако я имел в виду то, что есть популярные компоненты, которые не «усложняют», а скорее «исправляют» MODX, к примеру, есть дополнение «AutoTemplate» которое при создании нового ресурса ставит ему шаблон как у его соседних ресурсов (если таковых нет, то шаблон родителя) — крайне логичное поведение по-моему.
Я думаю, все же стоит оценить самые скачиваемые дополнения и, возможно, внедрить какие-либо полезные функции в MODX3.

Персональный список таких дополнений, которых, по-моему, не хватает:
— AutoTemplate — о нем выше;
— filetranslit — транслитерация загружаемых файлов, есть транслитерация псевдонимов, почему не быть и файлам;
— UpgradeMODX — обновление MODX;
— hideSource — скрытие медиа-источников файлов из дерева;
— minifyHTML — удаление лишних табов и пробелов при генерации шаблона в браузере;
— MinifyX (Возможно) — объединение и сжатие js и css.

Еще хотелка — возможность создавать конфиги настроек, например, для пакетной загрузки компонентов — один раз загрузил нужные компоненты, экспортировал конфиг на будущее и в будущем загружаешь конфиг и дополнения ставятся сразу толпой :) для системных настроек тоже такую возможность внедрить бы (опять же функционал такой в MODX уже есть, но работает в «Политиках доступа»).

Я понимаю про концепцию MODX как CMF и про излишний функционал, но, повторюсь, некоторые компоненты логичны и жаль, что их нет из коробки. К примеру, виджет обновления MODX в 3 версию внедряют (по скринам хотя бы :) ).

Надеюсь, вы прислушаетесь к комментариям, и MODX воспылает новыми красками! Спасибо за ваш труд!

p.s. Стоит помимо популярных и скачиваемых дополнений также оценить и рынок конкурентов из популярных CMS/CMF.
Виталий Серый
Виталий Серый
5
0
На текущий момент без изменения сниппета msProducts сгруппировать не получится.
Надо править либо сам сниппет, либо создать копию (если не прав, то править надо меня).

После 28 строки добавить что-то вроде такого
// Add grouping
$groupby = array(
    'msProduct.id',
); //строка 28
if(!empty($scriptProperties['groupby'])){
    $groupby = array(
        $scriptProperties['groupby'],
    );
}

Так же при желании все необходимое можно добавить в вызове сниппета вместо создания нового
{'!mFilter2' | snippet:[
    'class' => 'msProduct',
    'parents' => 0,
    'element' => 'msProducts',
    'innerJoin' => '{
                "Category": {
                    "class": "msCategory"
                 }
            }',
    'select' => '{
                "Category": "*"
            }',
    'groupby' => 'Category.id',
    'tpl' => '@INLINE <p><a href="{$uri}">{$pagetitle}</a></p>',
    ....
]}
Владимир
Владимир
1
0
1) HTTPS — не проблема, сейчас все сайты по-умолчанию на этом протоколе делаем.
2) Этот набор браузеров тоже устраивает.

В плане публичной части я, кстати, рассматривал пару примеров реализации вполне неплохих, которые я смогу сам доделать на jQuery:
webaudiodemos.appspot.com/AudioRecorder/index.html
subinsb.com/html5-record-mic-voice/

А вот что касается серверной стороны — я плохо знаю PHP, поэтому написать кастомный сниппет, который будет уже складывать эти отзывы в каком либо виде, мне будет трудновато.
Так что, может вы сможете помочь, когда дойдет дело до этого, небезвозмездно?
Сами отзывы скорее всего выполню в виде ресурсов. Ну либо какое-то «более лучшее» решение найдется. :)