Андрей

Андрей

С нами с 09 апреля 2015; Место в рейтинге пользователей: #68
Михаил
24 июня 2018, 07:50
1
+2
$resources = $modx->getIterator('modResource', array('parent' => 10938 ));
$foreach($resources as $resource){
$pagetitle = str_replace('КОПИЯ ', '', $resource->get('pagetitle'));
$resource->set('pagetitle', $pagetitle);
$resource->save();
}
Сергей
23 июня 2018, 22:56
1
+5
У всех что — то больно сложные решения для такой простой задачи.
в MODX же есть стандартное решение. Выбираете нужного пользователя и просто переопределяете настройку use_editor или which_editor и все
Aleksandr Huz
21 июня 2018, 12:33
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}
Володя
20 июня 2018, 11:53
2
+1
Hello.
Replace it with
{if $product.options?}
    {foreach $product.options as $key => $option}
        {* exclude the option key *}
        {if $key in ['modification','modifications','msal']}{continue}{/if}

        {set $caption = ('ms2_product_' ~ $key)|lexicon}
        {if $option is array}
            {$caption} - {$option | join : '; '}
        {else}
            {$caption} - {$option}
        {/if}
    {/foreach}
{/if}
shtyrman
04 июня 2018, 13:07
2
+2
Сергей, тут все упирается в знание js и мониторинг информации за бугром. Если на modx информации порой вообще нет, то на какие то решения в js и подавно хрен что найдешь.
Если вас интересует как стартануть в full stack, то у меня был такой процесс:
— изучаем js. 3-е издание \ Этан Браун
— секреты JavaScript ниндзя. Второе издание
— js подробное руководство. 6-е издание
— веб-разработка с применение node и express \ Итан Браун
— React и Redux. Функциональная веб-разработка
Этого будет достаточно что бы понять как все устроенно и плавать дальше самому, используя документации.
Михаил
15 мая 2018, 06:41
2
0
<?php
switch ($modx->event->name) {
	case 'OnUserFormSave':
if($mode == 'new' && $modx->context->key != 'mgr'){
$url = 3; // тут id ресурса с благодарностью
	$modx->sendRedirect($modx->makeUrl($url),array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
}
}
Stan Ezersky
23 апреля 2018, 11:35
4
+1
Вот и всё решение

<a data-fancybox data-type="ajax" data-src="{$id | url}" href="javascript:;" data-filter="#msProduct">Быстрый просмотр</a>
Руслан Алеев
15 апреля 2018, 14:16
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.
Володя
13 апреля 2018, 10:10
1
0
.msfavorites-total-all .msfavorites-total:before {
	content: "Y";
}
.msfavorites-total-all .msfavorites-total[data-value="0"]:before {
	content: "X";
}
Виталий Серый
10 апреля 2018, 01:38
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>',
    ....
]}