Всего 123 809 комментариев

Константин
04 сентября 2023, 16:32
0
В карточке пробую так:
{if $parent != 31 && $id != 31 && $parent != 29 && $id != 29}
  <div class="reward"><span>Артикул:</span> <span class="item">[[+article]]</span></div>
{/if}
И так:
{if $_modx->resource.parent != 31 && $_modx->resource.id != 31 && $_modx->resource.parent != 29 && $_modx->resource.id != 29}
  <div class="reward"><span>Артикул:</span> <span class="item">{$article}</span></div>
{/if}
Все равно выводит артикул
Dan
Dan
04 сентября 2023, 16:08
0
Я же написал в комменте. В самом первом моем комменте и комменте Артура, условие для страницы товара. Для карточки товара, если она выводится сниппетом, условие будет то, что я написал в последнем комменте
Константин
04 сентября 2023, 16:07
0
А как в карточке товара реализовать данное условие?
Dan
Dan
04 сентября 2023, 15:44
0
Вам бы документацию Fenom почитать.
{$_modx->resource.id} и подобные этому вызовы обращаются к полям текущего ресурса. Поэтому в чанке будет так:
{if $parent != 31 && $id != 31}
  <div class="reward"><span>Артикул:</span> <span class="item">{$article}</span></div>
{/if}
И кстати:
1) Не смешивайте стандартный синтаксис и fenom. Раз пишите в fenom, пишите все в нем. Т.е. не
[[+article]]
, а
{$article}
2) По-моему в первом условии должно быть не
[[+article]]
, а
{$_modx->resource.article}
Константин
04 сентября 2023, 15:22
0
Спасибо большое, так работает, а как в карточке товара реализовать данное условие? Скопировал — не срабатывает
Николай Савин
04 сентября 2023, 15:10
0
Это какого ж размера должен быть монитор, чтобы тост не заметить
Артур Шевченко
04 сентября 2023, 15:00
+1
А так
{if $_modx->resource.parent != 31 && $_modx->resource.id != 31}
  <div class="reward"><span>Артикул:</span> <span class="item">[[+article]]</span></div>
{/if}
Артур Шевченко
04 сентября 2023, 14:58
+1
Ставлю рубль против 1000, что у вас некорректная html-разметка.
Константин
04 сентября 2023, 14:54
0
Так выводится артикул везде и в родителе 31 и в подкаталогах
Dan
Dan
04 сентября 2023, 14:25
+1
что бы у всех подкаталогов родителя 31 скрывался артикул
При этом код у вас написан наоборот. Наверное нужно что-то в этом роде:
{if $_modx->resource.parent != 31 || $_modx->resource.id != 31}
  <div class="reward"><span>Артикул:</span> <span class="item">[[+article]]</span></div>
{/if}
Dan
Dan
04 сентября 2023, 14:13
0
Вы хоть свой вызов и чанки покажите
deleted
04 сентября 2023, 12:28
0
Надо будет попробовать)

Вообще мне кажется, что правильнее показывать уведомление об успешной отправке не в «тосте», а в самой форме. «Тост» можно и не заметить, особенно на большом экране. Вроде как отправил форму, а ничего не произошло) Хотя думаю это несложно через событие сделать.

Кстати, компонент сессии использует? Была задача встроить форму через iframe, такая форма не работала из-за сессий. Пришлось переписывать (использовал своё решение, не ajaxform) чтоб данные в кэше хранились.

Есть ли стандартный шаблон для писем?
Konstantin
03 сентября 2023, 17:34
0
Разобрался сам, увидеть нормальную работу плагина можно только при создании нового ресурса, итак, нужно заполнить все поля ресурса, сохранить, затем во вкладке Локализации появится уже созданный пункт для основного языка, остается лишь перевести остальные. Затем весь контент можно будет выводить с помощью методов автора
Pavel Kravchuk
03 сентября 2023, 13:36
0
Благодарю всех за ответы.
Действительно в ClientConfig используется setOption для переопределения системных параметров. Правда он вызывается довольно часто, каждый раз при инициализации modx. К сожалению другого метода не нашел. Думал через кеш решить этот вопрос, но секюрные данные хранить в кеше не хорошо, а установка и сохранение системных настроек приводит к появлению их в БД
$setting = $modx->getObject('modSystemSetting', 'mail_smtp_pass');
                $setting->set('value',  $_ENV['RB_SMTP_KEY']);
                $setting->save();
Николай Савин
03 сентября 2023, 13:15
1
0
Попробуйте метод
$modx->setOption();
Наумов Алексей
03 сентября 2023, 13:02
1
0
Я бы посоветовал посмотреть, как это реализовано в компоненте ClientConfig, он решает похожую задачу: хранит свои настройки не в таблице modx_system_settings, а в другом месте (в своей таблице).

В частности посмотри код плагина.
Вовка
03 сентября 2023, 04:53
0
Доброго времени суток!
[[!mFilter2?
                &parents=`[[*ShopBrandParentID:is=``:then=`[[*id]]`:else=`[[*ShopBrandParentID]]`]]`
                &tplOuter=`tpl.mFilter2.outerShopCategory`
                &element=`msProducts`
                &class=`msProduct`
                &cacheTime=`10800`
                &ajaxMode=`button`
                &filterOptions=`{ "more_tpl": "<div class=\"go-to-catalog btn_more\"><span class=\"more\">[[%polylang_site_47]]</span></div>"}`
                &setMeta=`1`
    
                &tpl=`catalog-box-tpl`
                &tpls=`catalog-box-tpl,catalog-box-tpl-4-box`
                &limit=`24`
                &sortby=`{ "ProdSort":"DESC", "id":"DESC"}`
                &pageLimit=`5`
                &suggestions=`false`
                &innerJoin=`{ "Options":{ "class":"msProductOption"}}`
                &groupby=`msProduct.id`
                &showHidden=`0`
                &includeTVs=`[[*FilterIncludeTVs]],Prod23,Prod24,ProdSort`
                &where=`{ "Prod02":"1"}`
    
                &filters=`[[*FilterFilters]],ms|new:boolean,ms|old_price:boolean,msoc|color~value~color`
                &tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
                &tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
    
                &tplFilter.outer.msoc|color~value~color=`tpl.mFilter2.filter.outer`
                &tplFilter.row.msoc|color~value~color=`tpl.mFilter2.filter.outer`
                &tplFilter.outer.msoption|size=`tpl.mFilter2.filter.outer`
                &tplFilter.row.msoption|size=`tpl.mFilter2.filter.checkboxSize`
            ]]
— [[*FilterFilters]] — TV поле где указываются, фильтра, которые нужно выводить в данном каталоге.
Вот ссылка на каталог, где есть привязанный товар Каталог с присоединенным товаром
Zulya
02 сентября 2023, 01:08
1
+1
Благодаря помощи Артура Шевченко, нашли причину.

Решение:
У меня на сайте было 2 контекста.
При регистрации с автологином, юзер почему-то привязывался к контексту web. Но у меня контекст web был пустой и не использовался. Поэтому в сниппете Register, добавила параметр
&authenticateContexts=`web,meb`
.
После этого, авторизованный пользователь получил доступ к оценкам тикетов, комментариев, добавление в избранное.
Dan
Dan
01 сентября 2023, 17:04
0
Вызов сниппета бы увидеть
Николай Савин
01 сентября 2023, 16:36
0
Здравствуйте. Определить подходящее время и день недели поможет такое условие
$showWA = true;
if ( date('w') > 5 || (date('w') == 5 && date('H') >= 16) ||  (date('w') < 5 && date('H') >= 17)) {   
    $showWA = false;
}
return $showWA;