MODX revo работа с ClientConfig+miniShop2

Всем привет! Имеется корзина на сайте. Нужно, что бы с админки через ClientConfig можно было управлять показом блока корзины.

Сама корзина выведена через chunk в header

Все действия по скрытию провожу в header-е

Пробовал через phx


[[ [[++disable_text]]:is=`2022-04-17`:then=`[[!msMiniCart? &tpl=`cart_mini`]]`:else=`Магазин закрыт`]]
Так же пробовал через модуль IF

[[If? $[[++disable_text]]
   &subject=`2022-04-17`
   &operator=`==`
   &then=`[[!msMiniCart? &tpl=`cart_mini`]]`
   &else=`Магазин закрыт`
]]
В идеале хочу сделать так, что бы в админке я выставлял промежуток времени в который корзина недоступна, и соответственно она доступна

Рустам
16 апреля 2022, 18:54
modx.pro
606
0

Комментарии: 2

Артур Шевченко
17 апреля 2022, 00:27
0
Вот так
[[!+nowdate:default=`now`:strtotime:date=`%H:%M`:gt=`[[++starttime]]`:and:if=`[[!+nowdate:default=`now`:strtotime:date=`%H:%M`]]`:lte=`[[++endtime]]`:then=`YES`:else=`NO`]]
Но лучше Fenom.
    vectorserver
    18 апреля 2022, 12:23
    0
    Создай свой сниппет и вызови его в шаблоне
    <?php
    /* @global $modx */
    
    //Date now
    $datenow = time();
    
    //Date start  - end
    $date_enable = $modx->getOption('date_enable', '', '22-04-18');
    $date_disable = $modx->getOption('date_disable', '', '22-04-19');
    //time on - off
    $time_enable = $date_enable . " " . $modx->getOption('time_enable', '', '08:00 am');
    $time_disable = $date_disable . " " . $modx->getOption('time_disable', '', '10:00 pm');
    
    
    //days
    if ($datenow >= strtotime($date_enable) && $datenow <= strtotime($date_disable)) {
    
        //times
        if ($datenow >= strtotime($time_enable) && $datenow <= strtotime($time_disable)) {
            //Show CART
            return $modx->runSnippet('msMiniCart', array('tpl' => 'cart_mini'));
        }
    }
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2