Максим

Максим

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

Выполнить where в pdoPage

как правильно выполнить where

в тв поле city храниться название города — Москва

$_modx->getPlaceholder('sd.city') — тоже хранит название города Москва

{'!pdoPage' | snippet : [
                            'element' => 'pdoResources',
                            'tpl' => '@FILE tpl/sale.tpl',
                            'parents' => $_modx->resource.id,
                            'limit' => 12,
                            'showHidden' => 1,
                            'includeTVs' => 'city',
                            'includeContent' => 1,
                            'processTVs' => 1,
                            'templates' => 15,
                            'tvPrefix' => '',
                            'where' => '{ 
                                "city":"$_modx->getPlaceholder('sd.city')"
                            }',
                            'sortby' => 'publishedon',
                            'sortdir' => 'desc',
                        ]}
Максим
30 сентября 2020, 15:50
modx.pro
553
0

Не отображать выключенную модификацию msProductOptions

Как скрыть размер, модификация которого скрыта в админке? сейчас если модификация выключена, размер выводиться, но при переключении размеров цена не меняется, а нужно чтобы и размер не выводился
вызываю сниппет,

[[!msOptions?
                    &options=`size`
                    &tpl=`phytomodule.option`
                ]]
                
                [[!msProductOptions?
                     &options=`size`
                ]]
сам чанк

{foreach $options as $name => $values}
        <div class="flex-group">
            <label for="option_{$name}">{$id | resource: 'wheight'}:</label>
            <select name="options[{$name}]" class="input-sm form-control" id="option_{$name}"
                {if $constraints[$name]}
                    data-constraints="{$constraints[$name]| json_encode: 256 | htmlentities}"
                {/if}
                >
                {foreach $values as $value index=$index }
                    <option value="{$value}"
                     
                    {if $constraints[$name]}
                        data-relations="{$relations[$name][$value]| json_encode: 256 | htmlentities}"
                    {/if}
                         
                    >{$value}</option>
                {/foreach}
            </select>
        </div>
{/foreach}
Максим
05 ноября 2019, 10:03
modx.pro
552
0

вывести товары

подскажите, почему при такой записи

return $modx->getChunk('getTariffs',array('id' => $_POST['id']));

не срабатывает сниппет
msProducts
в чанке
getTariffs
чанк такой

<div class="input-group input-group-lg get-tarif">
  <span class="input-group-addon">тарифы </span>
  <select name="service" id="service" class="form-control">
      <option value="0">Выберите тариф s</option>
        {'!msProducts' | snippet : [
            'tpl' => '@FILE tpl/gettarif.tpl', 
            'parents' => ,
            'depth' => 4,
            'limit' => 100,
            'includeTVs' => 1,
            'includeContent' => 1,
            'processTVs' => 1,
            'tvPrefix' => '',
            'sortby' => 'menuindex',
            'sortdir' => 'asc',
        ]}
  </select>
</div>
Максим
06 октября 2019, 15:36
modx.pro
495
0

Расширение файла `` не допускается.

сталкивался кто с такой проблемой? и как решить?

Максим
12 июля 2019, 14:01
modx.pro
888
0

Поле со скидкой

есть плагин для реализации скидки при добавлении товаров в корзину

<?php
if ($modx->event->name == 'msOnBeforeAddToCart') {
    if ($modx->user->isAuthenticated()){
        //$user = $modx->getObject('modUserProfile', $modx->user->get('id'));
        $procent = 0;
        $sqlz = $modx->query("SELECT count(id) as count,SUM(cost) as summa FROM `modx_ms2_orders` WHERE user_id=".$modx->user->get('id')." and status=10");
        $parentz = $sqlz->fetchAll(PDO::FETCH_ASSOC);
            foreach ($parentz as $resz) {
                if ($resz['count'] == 0){
                    $procent = 0;
                }else{
                    $sql = $modx->query("SELECT count(id) as count,SUM(cost) as summa FROM `modx_ms2_orders` WHERE `createdon` >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY) and user_id=".$modx->user->get('id')." and status=10");
                    $parentu = $sql->fetchAll(PDO::FETCH_ASSOC);
                    if ($parentu) {
                        foreach ($parentu as $res) {
                              if (round($res['summa'],0) < 50000) {
                                  $procent = 0;
                              }elseif (round($res['summa'],0) >= 50000 && round($res['summa'],0) < 100000){
                                  $procent = 3;
                              }elseif (round($res['summa'],0) >= 10000 && round($res['summa'],0) < 150000){
                                  $procent = 5;
                              }elseif (round($res['summa'],0) >= 150000 && round($res['summa'],0) < 200000){
                                  $procent = 8;
                              }elseif (round($res['summa'],0) >= 200000){
                                  $procent = 10;
                              }
                        }
                    }
                }
            }
        
        
        if (/*$user->get('sale')*/$procent > 0){
            $old_price = $product->get('price') - ($product->get('price') * ($procent / 100));
        		$product->set('price', round($old_price, 2));
        }
    }else{
        $modx->event->output('Для покупки товаров, Вам нужно авторизоваться или зарегистрироваться!');
    }
}
если мы меняем количество в корзине, то сумма меняется — все ок, а как сделать, чтобы еще показывалась сумма без учета скидки?

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

<span>
    	    {'TotalSale' | snippet : [
                    'price' => $total.cost
                ]} 
   </span>
сниппет
$procent = 4;
$sale = (str_replace(' ', '', $price) * 100) / (100 - $procent);
echo round($sale,1);
Максим
19 апреля 2019, 15:17
modx.pro
443
0

Контексты

как реализовать, чтобы два контекста свободно отображались на сайте, есть есть главный веб, я создал old и туда запихнул каталог со старым товаром, чтобы не путался в админке, нужно чтобы пользователь переходил на негои попадал в каталог, на данный момент меня перекидывает на главную страницу, хотя в адресной строке урл к каталогу
Максим
25 февраля 2019, 14:17
modx.pro
652
-3

Страница оплаты заказов

Как можно реализовать вот такую страничку оплаты, чтобы после выставления статуса на оплату, выводились заказы и каждый заказ можно было оплатить по отдельности?
вывод готов, но как связать заказы не могу понять

Максим
18 февраля 2019, 15:50
modx.pro
841
+1

Вывод данных в чанке

как вывести в fenom вот такую запись?

{"id":"{$id}"}
Максим
18 февраля 2019, 14:00
modx.pro
445
0

Подписка на рассылки

Подскажите, как сделать вот такую вот штуку? и какое дополнение можно использовать?

Максим
16 февраля 2019, 01:41
modx.pro
910
0

MOdx Компонент

по статье ilyaut.ru/xpdo/add-custom-objects/ создал таблицу, для хранения адресов пользователя

на странице есть форма

<form action="" method="post" id="address__form">
    	        <div class="address__name">
        	        <input type="text" name="name_address" id="in_address" placeholder="Название адреса">
        	        <div class="checkbox">
                        <input type="checkbox" name="address_default" id="ad">
                        <label for="ad">Сделать основным</label>
                    </div>
        	    </div>
        	    <div class="address__input">
        	        <input type="text" name="postcode" placeholder="Индекс">
        	        <input type="text" name="city" id="address_city" placeholder="Населенный пункт">
        	        <input type="text" name="street" id="address_street" placeholder="Улица">
        	        <input type="text" name="home" placeholder="Дом">
        	        <input type="text" name="building" placeholder="Корпус">
        	        <input type="text" name="building1" placeholder="Строение">
        	        <input type="text" name="flat" placeholder="Квартира">
        	    </div>
        	    <textarea name="message" id="message" cols="30" rows="5" placeholder="Примечания"></textarea>
        	    <button type="button" class="btn-dark">Сохранить</button>
    	    </form>
подскажите, как сделать ajax добавление, и работу с таблицей как модули например Office и т.д. Может есть статьи хорошие?
Максим
14 февраля 2019, 17:15
modx.pro
615
0