Klike

Klike

Был в сети 30 мая 2024, 12:06
Заказы не принимаю
Да, Павел чуть опередил, то же самое хотел написать, вот конкретный пример, только без присоединения TV полей:

[[pdoResources?
        	&parents=`0`
        	&resources=`12,5,2,9,1`
        	&tpl=`tpl.Menu`
        	&tplWrapper=`@INLINE <ul>[[+output]]</ul>`
        	&sortby=`resources`
        ]]
tpl.Menu (вариант с Fenom)
{if $id == ''|resource:'id'}
    {set $active = 'active'}
{/if}
<li class="{$active}"><a class="{$active}" href="{$uri}">{$pagetitle}</a></li>
Ещё при добавлении товара в корзину / изменении количества в корзине, оформление заказа можно такой плагин добавить, чтобы jGrowl сообщения в корректном языке выводились.

<?php
switch ($modx->event->name) {
    case 'msOnBeforeAddToCart':
    case 'msOnBeforeRemoveFromCart':
    case 'msOnBeforeChangeInCart':
    case 'msOnSubmitOrder':
        $request = $_SERVER['HTTP_REFERER'];
        $host = $find = $_SERVER['HTTP_HOST'];
        if($request) {
        	if(strpos($request, '/') !== false) {
        		$request = str_replace($_SERVER['HTTP_ORIGIN'] . '/', '', $request);
        		$tmp = explode('/', $request);
        		$find = $host . '/' . $tmp[0] . '/';
        	} else {
        		$find = $host . '/' . $request;
        	}
        }
        $q = $modx->newQuery('localizatorLanguage', array(
            array('http_host' => $find),
            array('OR:http_host:=' => $host)
        ));
        $q->select('cultureKey');
        $lang = $modx->getValue($q->prepare());
        $modx->setOption('cultureKey', $lang);
        $modx->lexicon->load($lang . ':minishop2:cart');
        break;
}