Максим

Максим

С нами с 21 июля 2016; Место в рейтинге пользователей: #590

Logout

Как сделать кнопку выхода пользователя из учетки в шапке сайта, авторизация через HybridAuth и на текущий момент кнопка работает на странице профиля

Пытался сделать так но страница зависает

[[!HybridAuth?
                    &logoutTpl=`CabinetLogout`
                    &logoutResourceId=`1`
                ]]
Содержимое чанка CabinetLogout
<a href="[[+logout_url]]"  class="data-exit">Выйти</a>
Максим
15 декабря 2017, 11:57
modx.pro
666
0

Login в Fenom

если вывожу вот так:
{'!Login' | snippet : [
                'loginTpl' => '@FILE chunks/cabinet/login.tpl', 
                'errTpl' => 'lgnErrTpl',
                'loginResourceId' => 21,
                'loginMsg' => 'Войти',
                'logoutResourceId' => 29
            ]}
ничего не выводит, а если так
{'!Login' | snippet : [

 ]}
то работает
Максим
13 декабря 2017, 13:27
modx.pro
1 422
0

Вывод множественного тв

есть тв список-множественное поле
Не выбрано==0||с террасой==1||с балконом==2||с эркером==3||с кукушкой==4||

как мне вывести выбранное значение, такого формата:

название — (сли выбран ДА, если не выбран то НЕТ)
Максим
01 декабря 2017, 10:58
modx.pro
1 173
0

вывод тв

как вывести значение tv полей в чанке
producthomefilter
если фильтр вызываю так

[[!mFilter2?
&limit=`21`
&parents=`4`
&element=`msProducts`
&setMeta=`1`
&filters=`
ms|price:number,
tv|gsize,
tv|ssize:number,
tv|etaj,
tv|konstrukt,
tv|typek
`
&showLog=`0`
&suggestionsRadio=`ms|vendor`
&_filterOptions=`{«autoLoad»:0}`
&tpls=`producthomefilter`
&class=`msProduct`
&tplOuter=`mFilter2.outer`
&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
&tplFilter.row.ms|price=`mFilter2.filter.number`
&tplFilter.outer.tv|ssize=`tpl.mFilter2.filter.slider`
&tplFilter.row.tv|ssize=`mFilter2.filter.number`
]]
Максим
30 ноября 2017, 12:39
modx.pro
563
0

загрузка фото в галерею minishop2

Фото выбирается, появляется полоса загрузки, но изображение не загружается.

в консоле только это

[2017-11-27 23:22:49] (ERROR @ /home/ymizaika/public_html/core/model/modx/modparser.class.php : 538) Could not find snippet with name 42.
Максим
27 ноября 2017, 20:25
modx.pro
1 097
0

картинки минишоп

как вывести все картинки в списке товаров

сейчас только выводиться одна
<img  src="{$thumb}"/>
а мне нужно чтобы все выводил, подскажите пожалуйста
Максим
27 ноября 2017, 08:03
modx.pro
817
0

вывод тв

скажите как в карточке товара вывести значение тв, которое мы указали при создании товара

тв с одиночным списком выбора:
Не выбрано==0||одноэтажный==1||двухэтажный==2||с мансардой==3||коттедж==4
Максим
26 ноября 2017, 12:09
modx.pro
927
0

Ошибка в плагине минишоп

подскажите где ошибся
написал плагин, если впервые добавляем в корзину, то он не присваивает в зависимости от условия новую цену, а если там товар этот уже был и мы еще добавили, то пересчитывает

<?php

switch ($modx->event->name) {
     case 'msOnBeforeAddToCart': case 'msOnAddToCart': case 'msOnChangeInCart': // Обрабатывать только события добавления в корзину и изменения количества

        $cartArray = $cart->get(); // Массив корзины
        $cartStatus = $cart->status(); // Состояние корзины

        foreach ($cartArray as &$cartProduct) { // Обрабатываем все товары корзины
            if ($product = $modx->getObject('msProduct', $cartProduct['id'])) { // Получаем объект товара по его ID в корзине
            $count = 10;
            if ($count >=1 && $count<=4){
                $tvr = $modx->getObject('modTemplateVarResource', array(
                  'tmplvarid' => 14, //тут ID TV "p1"
                  'contentid' => $product->get('id')
                ));
                    $tv = $tvr->get('value');
                $pr = $tv;
            }if ($count>=5 && $count<=20){
                $tvr = $modx->getObject('modTemplateVarResource', array(
                  'tmplvarid' => 15, //тут ID TV "p2"
                  'contentid' => $product->get('id')
                ));
                    $tv = $tvr->get('value');
                $pr = $tv;
            }if ($count>=21 && $count<=50){
                $tvr = $modx->getObject('modTemplateVarResource', array(
                  'tmplvarid' => 16, //тут ID TV "p2"
                  'contentid' => $product->get('id')
                ));
                    $tv = $tvr->get('value');
                $pr = $tv;
            }if ($count>=51 && $count<=100){
                $tvr = $modx->getObject('modTemplateVarResource', array(
                  'tmplvarid' => 17, //тут ID TV "p3"
                  'contentid' => $product->get('id')
                ));
                    $tv = $tvr->get('value');
                $pr = $tv;
            }if ($count>=101 && $count<=300){
                $tvr = $modx->getObject('modTemplateVarResource', array(
                  'tmplvarid' => 18, //тут ID TV "p4"
                  'contentid' => $product->get('id')
                ));
                    $tv = $tvr->get('value');
                $pr = $tv;
            }if ($count>=301 && $count<=500){
                $tvr = $modx->getObject('modTemplateVarResource', array(
                  'tmplvarid' => 19, //тут ID TV "p5"
                  'contentid' => $product->get('id')
                ));
                    $tv = $tvr->get('value');
                $pr = $tv;
            }if ($count>500){
                $tvr = $modx->getObject('modTemplateVarResource', array(
                  'tmplvarid' => 20, //тут ID TV "p7"
                  'contentid' => $product->get('id')
                ));
                $tv = $tvr->get('value');
                $pr = $tv;
            }

            
                $cartProduct['price'] =  $pr; // Изменение цены
                    $cart->set($cartArray); // Запись нового состояния корзины
            }
            else{
                if ($count >=1 && $count<=4){
                        $tvr = $modx->getObject('modTemplateVarResource', array(
                          'tmplvarid' => 14, //тут ID TV "p1"
                          'contentid' => $product->get('id')
                        ));
                            $tv = $tvr->get('value');
                        $pr = $tv;
                    }if ($count>=5 && $count<=20){
                        $tvr = $modx->getObject('modTemplateVarResource', array(
                          'tmplvarid' => 15, //тут ID TV "p2"
                          'contentid' => $product->get('id')
                        ));
                            $tv = $tvr->get('value');
                        $pr = $tv;
                    }if ($count>=21 && $count<=50){
                        $tvr = $modx->getObject('modTemplateVarResource', array(
                          'tmplvarid' => 16, //тут ID TV "p2"
                          'contentid' => $product->get('id')
                        ));
                            $tv = $tvr->get('value');
                        $pr = $tv;
                    }if ($count>=51 && $count<=100){
                        $tvr = $modx->getObject('modTemplateVarResource', array(
                          'tmplvarid' => 17, //тут ID TV "p3"
                          'contentid' => $product->get('id')
                        ));
                            $tv = $tvr->get('value');
                        $pr = $tv;
                    }if ($count>=101 && $count<=300){
                        $tvr = $modx->getObject('modTemplateVarResource', array(
                          'tmplvarid' => 18, //тут ID TV "p4"
                          'contentid' => $product->get('id')
                        ));
                            $tv = $tvr->get('value');
                        $pr = $tv;
                    }if ($count>=301 && $count<=500){
                        $tvr = $modx->getObject('modTemplateVarResource', array(
                          'tmplvarid' => 19, //тут ID TV "p5"
                          'contentid' => $product->get('id')
                        ));
                            $tv = $tvr->get('value');
                        $pr = $tv;
                    }if ($count>500){
                        $tvr = $modx->getObject('modTemplateVarResource', array(
                          'tmplvarid' => 20, //тут ID TV "p7"
                          'contentid' => $product->get('id')
                        ));
                        $tv = $tvr->get('value');
                        $pr = $tv;
                    }
                    
                    $product->set('price', $pr);
            }
        }

    
        break;

}
Максим
01 ноября 2017, 13:24
modx.pro
1
690
0

Объединения одинаковых товаров в корзине

как объединить товары в корзине, чтобы они не показывались три а одним
Максим
01 ноября 2017, 08:01
modx.pro
590
0

К общей сумме товара в корзине прибавить значение

Подскажите как при формировании общей суммы в корзине товара прибавить значение тв поля этого товара

public function status($data = array())
    {
        $status = array(
            'total_count' => 0,
            'total_cost' => 0,
            'total_weight' => 0,
        );
        foreach ($this->cart as $item) {
            if (empty($item['ctx']) || $item['ctx'] == $this->ctx) {
                $status['total_count'] += $item['count'];
                $status['total_cost'] += ($item['price'] * $item['count']) + значение тв поля p1;
                $status['total_weight'] += $item['weight'] * $item['count'];
            }
        }

        return array_merge($data, $status);
    }
Максим
31 октября 2017, 06:13
modx.pro
639
0