Дарья Сизова

Дарья Сизова

С нами с 08 ноября 2013; Место в рейтинге пользователей: #269
Дарья Сизова
09 января 2022, 14:30
0
Есть ошибка в логе: (ERROR @ /home/i/ivanovam/maria-art.com/core/xpdo/om/xpdoquery.class.php: 764) Encountered empty IN condition with key usergroup
Дарья Сизова
09 января 2022, 14:18
0
Нет, никаких сторонних плагинов нет.
Дарья Сизова
29 апреля 2020, 02:42
0
Подскажите, (умоляю, нигде не могу найти!), как в строке адреса декодировать кириллический тег? Например, тег «важно» отображается так ?tag=%25D0%25B2%25D0%25B0%25D0%25B6%25D0%25BD%25D0%25BE
Дарья Сизова
25 апреля 2020, 00:24
0
Спасибо, но проблема уже решена.
tpl у меня и так все вынесены в чанк. Инлайном указана только обертка (tplWrapper). Но проблема была не в этом. В чем точно она была, я так и не поняла...., но сделала я следующие действия: 1) заменила вызов сниппета с pdoPage на pdoResouces (мне в принципе пагинация была не нужна) и 2) перенесла из отдельного чанка вызов сниппета похожих товаров в чанк с основным кодом товара.
Когда я замену с pdoPage на pdoResouces сделала, перестали подставляться левые результаты. А когда перенесла снипет msProducts в один чанк с другими вышеописанными, то все нормально заработало.
Дарья Сизова
24 апреля 2020, 14:20
0
Код tpl.Tkani.Accordion:
<div class="panel panel-default">
  <div class="panel-heading">
    <h4 class="panel-title">
        <a class="accordion-toggle" data-option="[[+pagetitle]]" data-toggle="collapse" data-parent="#accordion-1" href="#collapse-[[+alias]]">
          Коллекция тканей "[[+pagetitle:ucase]]"
        </a>
    </h4>
  </div>
  <div id="collapse-[[+alias]]" class="panel-collapse collapse">
    <div class="panel-body">
      <div class="row">
        [[!pdoPage?
        	&tpl=`tpl.Tkani2`
        	&limit=`0`
        	&sortby=`pagetitle`
        	&parents=`[[+id]]`
        	&includeContent=`1`
        	&tvPrefix=``
        	&includeTVs=`price,img`
          &showUnpublished=`1`
          &hideContainers=`1`
          &sortdir=`ASC`
          &resources=`[[*tkanID]]`
        ]]
        [[!+page.nav]]
      </div>
    </div>
  </div>
</div>

Код tpl.Tkani2 внутри этого сниппета:
<div class="col-md-3 tkani">
  <div class="thumbnails thumbnail-style thumbnail-kenburn carousel-v1">
    <div class="thumbnail-img">
      <div class="overflow-hidden">
        <img class="img-responsive" alt="[[+pagetitle]]" src="[[+img]]" />
      </div>
      <a class="btn-more hover-effect" href="#">[[+pagetitle]]</a>                   
    </div>
    <div class="caption">
      <a href="#" data-title="[[+pagetitle]]" data-img="[[+img]]" class="tkan tkan0 tkan1tkan tkan2tkan btn-u btn-defaul"><span><i class="icon icon-plus"></i></span>выбрать для всего изделия</a>
      <a href="#" data-title="[[+pagetitle]]" data-img="[[+img]]" class="tkan tkan1 tkan1tkan btn-u btn-defaul"><span><i class="icon icon-plus"></i></span>выбрать для спинки и сиденья</a>
      <a href="#" data-title="[[+pagetitle]]" data-img="[[+img]]" class="tkan tkan2 tkan2tkan btn-u btn-defaul"><span><i class="icon icon-plus"></i></span>выбрать для боковины и задника</a>
    </div>
  </div>
</div>

Код tpl.msProducts.Similar:
<li>
  <a href="{$id | url}">
    {if $thumb?}
      <em class="overflow-hidden"><img src="[[+image:phpthumbon=`w=400&h=270&zc=0`]]" alt="{$pagetitle}" title="{$pagetitle}"></em>
    {else}
      <em class="overflow-hidden"><img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
           srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
           class="mw-100" alt="{$pagetitle}" title="{$pagetitle}"/></em>
    {/if}
    <span>
    <strong>{$pagetitle}</strong>
      <i class="price ml-md-3">{$price} {'ms2_frontend_currency' | lexicon}</i>
      {if $old_price?}
      <i class="old_price ml-md-3" style="text-decoration: line-through;">{$old_price} {'ms2_frontend_currency' | lexicon}</i>
      {/if}
    </span>
  </a>
</li>
Дарья Сизова
24 апреля 2020, 14:17
0
Конфликтуют эти сниппеты:

[[!pdoResources?
          	&tpl=`tpl.Tkani.Accordion`
          	&sortby=`pagetitle`
          	&sortdir=`ASC`
          	&limit=`0`
          	&parents=`60`
          	&includeContent=`1`
          	&showUnpublished=`1`
          	&depth=`0`
          	&resources=`[[*tkanCollection]]`
          ]]
и

[[!msProducts?
	&tpl=`tpl.msProducts.Similar`
	&limit=`12`
	&sortby=`Data.price`
	&parents=`19`
	&includeTVs=`price`
	&includeThumbs=`medium`
	&tplWrapper=`@INLINE 
	<div class="container">
    <div class="headline"><h2>Похожие товары</h2></div>
    <div class="margin-bottom-40">
    	<div class="bx-wrapper">
      	<div class="bx-viewport">
          <ul id="list" class="bxslider recent-work">
            [[+output]]
          </ul>
        </div>
      </div>
    </div>              
  </div>
	`
	&link=`1`
	&master=`[[*id]]`
]]
Дарья Сизова
24 апреля 2020, 14:13
0
Конечно, все параметры подробно указаны и код очень не маленький, поэтому начала со схематичного описания проблемы. Вот полный код шаблона Товара (ну разве что без head и footer):

<div class="container">
  <div class="row portfolio-item">
  
    <div class="col-md-6">
      [[!msGallery]]
    </div>
           
    <div class="col-md-6">
      
      [[!msOptionsPrice.initialize]]
      
      <form class="msoptionsprice-product form-horizontal ms2_form" method="post">
        <input type="hidden" name="id" value="[[*id]]"/>
      	<h2>[[*pagetitle]]<!--span class="msoptionsprice-name msoptionsprice-[[*id]]">[[*pagetitle]]</span--></h2>
      	
      	<div class="text-md-left mb-2 mb-md-0">
          [[+new:isnot=``:then=`<span class="badge badge-secondary badge-pill col-auto">[[%ms2_frontend_new]]</span>`]]
          [[+popular:isnot=``:then=`<span class="badge badge-secondary badge-pill col-auto">[[%ms2_frontend_popular]]</span>`]]
          [[+favorite:isnot=``:then=`<span class="badge badge-secondary badge-pill col-auto">[[%ms2_frontend_favorite]]</span>`]]
        </div>
      
        <div class="form-group row align-items-center">
          <label class="col-6 col-md-5 text-right text-md-left col-form-label">[[%ms2_product_article]]:</label>
          <div class="msoptionsprice-article msoptionsprice-[[*id]] col-6 col-md-7">
            [[+article:default=`-`]]
          </div>
        </div>
        <div class="form-group row align-items-center">
          <label class="col-6 col-md-5 text-right text-md-left col-form-label">[[%ms2_product_price]]:</label>
          <div class="col-6 col-md-7">
            <span class="msoptionsprice-cost msoptionsprice-[[*id]]">[[+price]]</span> [[%ms2_frontend_currency]]
            [[+old_price:gt=`0`:then=`
            <span class="old_price ml-2" style="text-decoration: line-through;"><span class="msoptionsprice-old-cost msoptionsprice-[[*id]]">[[+old_price]]</span> [[%ms2_frontend_currency]]</span>
            `:else=``]]
          </div>
        </div>
        <div class="form-group row align-items-center">
          <label class="col-6 col-md-5 text-right text-md-left col-form-label" for="product_price">[[%ms2_cart_count]]:</label>
          <div class="col-6 col-md-7">
            <div class="input-group">
              <input type="number" name="count" id="product_price" class="form-control" value="1" min="1" max="999" pattern="[0-9]*"/>
            </div>
          </div>
        </div>
        
        [[!msOptionsPrice.option?
        	&tpl=`tpl.msOptionsPrice.unify`
        	&options=`maxdepth,maxheight,maxlength,maxwidth,mindepth,minheight,minlength,minwidth,tkan,tkan1,tkan2,sleeplength,sleepwidth,tkan_collection,text`
          &processColors=`1`
          &constraintOptions=`{
          "tkan_collection":["minwidth"],
          "tkan2":["tkan_collection"]
          }`
          &sortOptions=`price`
        ]]
        
        
        <div class="form-group row align-items-center">
          <div class="col-6 col-md-5 text-right">
          </div>
          <div class="col-6 col-md-7 text-md-left">
            <button type="submit" class="btn-u btn-u-large" name="ms2_action" value="cart/add">
              Добавить в корзину
            </button>
          </div>
        </div>
      </form>
    </div>
  </div>
  
  <div class="margin-bottom-50 clearfix"></div>
  
  <div class="tab-v2">
    <ul class="nav nav-tabs">
      
      [[pdoField? &id=`42` &field=`content` &toPlaceholder=`tab2`]]
      [[pdoField? &id=`41` &field=`content` &toPlaceholder=`tab3`]]
      [[pdoField? &id=`40` &field=`content` &toPlaceholder=`tab4`]]
      [[pdoField? &id=`47` &field=`content` &toPlaceholder=`tab5`]]
      [[pdoField? &id=`171` &field=`content` &toPlaceholder=`tab8`]]
      
      <li><a href="#tab1" data-toggle="tab"><h4>Характеристики товара</h4></a></li>
      
      <li class="active"><a href="#tab6" data-toggle="tab"><h4>Ткани</h4></a></li>
      
      <li><a href="#tab7" data-toggle="tab"><h4>Деревянные элементы</h4></a></li>
      
      [[*tab2content:notempty=`<li><a href="#tab2" data-toggle="tab"><h4>Как заказать</h4></a></li>`:default=`[[+tab2:notempty=`<li><a href="#tab2" data-toggle="tab"><h4>Как заказать</h4></a></li>`]]
      `]]
      
      [[*tab3content:notempty=`<li><a href="#tab3" data-toggle="tab"><h4>Оплата</h4></a></li>`:default=`[[+tab3:notempty=`<li><a href="#tab3" data-toggle="tab"><h4>Оплата</h4></a></li>`]]
      `]]
      
      [[*tab4content:notempty=`<li><a href="#tab4" data-toggle="tab"><h4>Доставка</h4></a></li>`:default=`[[+tab4:notempty=`<li><a href="#tab4" data-toggle="tab"><h4>Доставка</h4></a></li>`]]
      `]]
      
      [[*tab5content:notempty=`<li><a href="#tab5" data-toggle="tab"><h4>Гарантия</h4></a></li>`:default=`[[+tab5:notempty=`<li><a href="#tab5" data-toggle="tab"><h4>Гарантия</h4></a></li>`]]
      `]]
        
    </ul>
    <div class="margin-bottom-20 clearfix"></div>
    <div class="tab-content">
      <div class="tab-pane" id="tab1">
        [[*content:replace=` -== —`]]
      </div>
      
      <div class="tab-pane active" id="tab6">
        <div class="panel-group acc-v1" id="accordion-1">
          [[!pdoResources?
          	&tpl=`tpl.Tkani.Accordion`
          	&sortby=`pagetitle`
          	&sortdir=`ASC`
          	&limit=`0`
          	&parents=`60`
          	&includeContent=`1`
          	&showUnpublished=`1`
          	&depth=`0`
          	&resources=`[[*tkanCollection]]`
          ]]
        </div>
      </div>
      
      <div class="tab-pane" id="tab7">
        <div class="row">
          <div class="col-md-4">
            [[!pdoResources?
            	&tpl=`tpl.Wood`
            	&sortby=`menuindex`
            	&sortdir=`ASC`
            	&limit=`0`
            	&parents=`171`
            	&includeTVs=`img`
            	&tvPrefix=``
            	&showUnpublished=`1`
            ]]
          </div>
          <div class="col-md-8">
            [[*tab8content:notempty=`[[*tab8content]]`:default=`[[+tab8:notempty=`[[+tab8]]`]]`]]
          </div>
        </div>
        [[*tab7content]]
      </div>
      
      [[*tab2content:notempty=`<div class="tab-pane" id="tab2">[[*tab2content]]</div>
      `:default=`[[+tab2:notempty=`<div class="tab-pane" id="tab2">[[+tab2]]</div>`]]
      `]]
      
      [[*tab3content:notempty=`<div class="tab-pane" id="tab3">[[*tab3content]]</div>
      `:default=`[[+tab3:notempty=`<div class="tab-pane" id="tab3">[[+tab3]]</div>`]]
      `]]
      
      [[*tab4content:notempty=`<div class="tab-pane" id="tab4">[[*tab4content]]</div>
      `:default=`[[+tab4:notempty=`<div class="tab-pane" id="tab4">[[+tab4]]</div>`]]
      `]]
      
      [[*tab5content:notempty=`<div class="tab-pane" id="tab5">[[*tab5content]]</div>
      `:default=`[[+tab5:notempty=`<div class="tab-pane" id="tab5">[[+tab5]]</div>`]]
      `]]
        
    </div>
  </div>

  <div class="margin-bottom-60"></div>

</div>

[[-!msProducts?
	&tpl=`tpl.msProducts.Similar`
	&limit=`12`
	&sortby=`Data.price`
	&parents=`19`
	&includeTVs=`price`
	&includeThumbs=`medium`
	&tplWrapper=`@INLINE 
	<div class="container">
    <div class="headline"><h2>Похожие товары</h2></div>
    <div class="margin-bottom-40">
    	<div class="bx-wrapper">
      	<div class="bx-viewport">
          <ul id="list" class="bxslider recent-work">
            [[+output]]
          </ul>
        </div>
      </div>
    </div>              
  </div>
	`
	&link=`1`
	&master=`[[*id]]`
]]
Дарья Сизова
23 апреля 2020, 18:32
0
Спасибо за решение! Много где пригодится!
Дарья Сизова
18 апреля 2020, 02:06
0
Здравствуйте! Всегда устанавливаю админ панель на все сайты. Но на одном сайте (хостинг — modhost.pro) вдруг возникла проблема — админ-панель полностью невидима… То есть она есть, можно ее свернуть и развернуть, кликнуть и попасть в редактор страницы — но все это наугад, панель полностью прозрачна. Сайт новый, почти ничего в стилях не меняла… Не пойму, в чем дело. Пробовала удалить и заново скачать из репозитория — то же самое. Подскажите, в чем может быть проблема?
Дарья Сизова
14 апреля 2020, 21:45
0
Здравствуйте! Подскажите, применима ли статья к последней версии [msOptionsPrice2]?
Дарья Сизова
14 апреля 2020, 21:42
0
Здравствуйте! Подскажите, пожалуйста, можно ли с помощью msOptionsPrice2 реализовать следующее.
Есть товар — диван. У него в качестве модификации есть выбор материала обивки под заказ (разный материал — разная наценка к базовой стоимости). На странице товара при клике на выпадающий список вариантов обивки надо, чтобы появлялись не просто текстовые значения (типа, красный, зеленый и т.д.), а изображения материала. Очень наглядно это представлено на сайте икеи (пример).
Можно ли средствами msOptionsPrice2 реализовать это?
И второй вопрос: можно ли сделать так, чтобы изображения для материала хранились и отображались отдельно от изображений самого товара?
Дарья Сизова
13 апреля 2020, 20:41
0
Все, разобралась! У меня же кастомные опции не хотели отображаться. Я создала для них записи в словаре miniShop — и все заработало.
Спасибо Вам за участие!
Дарья Сизова
13 апреля 2020, 20:22
0
У меня установлено два дополнения: miniShop2 и msOptionsPrice2. Лексикон не работает при вызове сниппета msOptionsPrice.option. Простите меня за тупость мою, но все равно не пойму, куда вставить указанную строку… Вставила в чанк шаблона для сниппета tpl.msOptionsPrice.unify, но это не сработало.
[[!msOptionsPrice.option?
    &options=`shirinadivana,shirinaspalnogo,obivka`
    &tpl=`tpl.msOptionsPrice.unify`
    &processColors=`1`
    &constraintOptions=`{"obivka":["shirinadivana"],"shirinaspalnogo":["shirinadivana","obivka"]}`
]]
код tpl.msOptionsPrice.unify
{foreach $options as $name => $values}
    <div class="sm-text"><b>{('ms2_product_' ~ $name) | lexicon}</b></div>
    <div
        {if $constraints[$name]}
            data-constraints="{$constraints[$name]| json_encode: 256 | htmlentities}"
        {/if}
        >
        {foreach $values as $value index=$index}
         
        <label class="input-parent">
        <input type="radio" value="{$values[$index]}" name="options[{$name}]" 
            {if $index == 0}checked="checked"{/if}
            
            {if $constraints[$name]}
                data-relations="{$relations[$name][$value]| json_encode: 256 | htmlentities}"
            {/if}
                    
            />
            {$values[$index]}
        </label>
    
        {/foreach}
    </div>
{/foreach}
Дарья Сизова
13 апреля 2020, 20:00
0
Благодарю Вас! Помогло!

Артем, а можете еще подсказать, как адекватно вывести название опции?
{('ms2_product_' ~ $name) | lexicon} выводит «ms2_product_size» вместо «Размер». Такой вопрос я уже находила тут, ответ на него дали, что нужно подгрузить лексиконы в чанке корзины
{$_modx->lexicon->load('minishop2:product')}
Но я не очень сильна во всем этом и не поняла, как же это сделать… А может быть есть и более простое решение?
Дарья Сизова
13 апреля 2020, 19:14
0
Не могли бы вы подсказать, как при вызове сниппета msOptionsPrice.option в стандартном синтаксисе написать эти зависимости?
'constraintOptions' => [
    'phytomodule_color' => ['sizes'],
    'equipment' => ['sizes','phytomodule_color'],
    'frame_color' => ['sizes','phytomodule_color','equipment']
]
у меня вот так:
[[!msOptionsPrice.option?
   &options=`shirinadivana,shirinaspalnogo,obivka`
   &tpl=`tpl.msOptionsPrice.unify`
   &processColors=`1`
   &constraintOptions=`....?`
]]
Дарья Сизова
13 апреля 2020, 19:03
0
Добрый день. Та же самая проблема. Не могли бы вы поточнее подсказать, в каком именно чанке эту строку нужно вписать? Отображение имен нарушено на странице продукта, а не только в корзине.
Дарья Сизова
06 апреля 2020, 17:10
0
Убрала в последнем примере
&tag=``
, и все работает теперь.
Но возникло еще 2 вопроса: первый — как на станице, где выводятся статьи, отфильтрованные по конкретному тегу, вывести в названии сам этот тег?
И второй вопрос: как с помощью стандартного синтаксиса сделать читаемым кириллический тег в url? Сейчас тег «важно» в адресе выглядит так: ?tag=%25D0%25B2%25D0%25B0%25D0%25B6%25D0%25BD%25D0%25BE

Буду благодарна за ответы.
Дарья Сизова
06 апреля 2020, 15:02
0
День добрый! Создала вывод тегов в статье.
[[tvssTags?
  id=`[[*id]]`
  &tv=`8`
  &tpl=`@INLINE <li><a href="[[+link]]">[[+tag]]</a></li>`
  &tplWrapper=`@INLINE 
  <div class="btArticleShareEtc">
    <div class="btTagsColumn">
      <div class="btTags">
        <ul>[[+output]]</ul>
      </div>
    </div>
  </div>`
  &outputSeparator=``
  &pageId=`6`
]]

Подскажите, пожалуйста, какой должен быть код (в данном синтаксисе, а не fenom) на странице с id=6, чтобы там выводились ресурсы с выбранным тегом?
У меня пока так (и ничего не выводится):
[[tvssResources:empty=`Похожих записей не найдено`?
    &tv=`8`
    &tags=`[[tvssTags? id=`[[*id]]` &tv=`8` &tpl=`@INLINE [[+tag]]` &outputSeparator=`||`]]`
    &limit=`8`
    &tpl=`tpl.Article`
    &parents=`6`
    &includeContent=`1`
    &includeTVs=`image,tags`
    &tvPrefix=``
    &tag=``
]]