Всего 123 794 комментария

Артур Шевченко
09 сентября 2023, 23:10
0
Порядковый. Хотя если кроме сортировки, есть фильтрация, то такой вариант не сработает. Вообще очень мало данных. Что за сортировка? Где? Как?
Алексей Смирнов
09 сентября 2023, 22:22
0
Ну я вам и давал решение на странице товара.
А если у вас артикулы в списках товаров, то тут чтобы не делать запросы для каждого товара, необходимо в сниппет заранее передать данные по родителям. тут придется написать маленький модификатор для array_merge И передать данные в msProduct (или какой вы сниппет используете?)
1. до сниппета нужно получить все тоже:
{set $allpara = $_modx->getChildIds(31,4,['template' => 3])}
{set $allpara2 = $_modx->getChildIds(29,4,['template' => 3])}
потом нам нужно эти 2 массива склеить через array_megre. Но обьяснять как делать этот модификатор — лень.
Возьмем сделаем чуток вычурно, зато понятно:
{foreach $allpara2 as $nyam}
  {set $allpara[] = $nyam}
{/foreach}
{'msProduct' | snippet : [
  'parents' => $catalog, // $catalog - не 0, а id каталога. не нужно сюда писать ноль!
  'forarticle' => $allpara
]}
И далее в шаблоне tpl
указываем так:

{if $parent not in list $allpara}
показать Артикул
{else}
скрыть art
{/if}
Константин
09 сентября 2023, 20:15
0
Спасибо, отлично работает на странице товара, но в каталоге в листинге отказывается. Вывожу так:
{set $allpara = $_modx->getChildIds(31,4,['template' => 3])}
{set $allpara2 = $_modx->getChildIds(29,4,['template' => 3])}
{if (($_modx->resource.parent in list $allpara) || ($_modx->resource.parent in list $allpara2))}

{else}
  <div class="reward"><span>Артикул:</span> <span class="item">{$article}</span></div>
{/if}
Пробовал из условия убрать id шаблона, но все равно выводит артикул.
Алексей
09 сентября 2023, 18:20
0
Да, с меня рубль :-)
Артур Шевченко
09 сентября 2023, 17:38
0
Прописать номер у ресурса
Сергей С
08 сентября 2023, 21:46
0
Очень полезно. Сейчас редактировать файлы нельзя только весь отзыв перезаливать
Алексей Смирнов
08 сентября 2023, 21:13
+1
вроде, правильно
попробуйте что ли
{if (($_modx->resource.parent in list $allpara) || ($_modx->resource.parent in list $allpara2))}
Спрятали
{else}
показали
  <div class="reward"><span>Артикул:</span> <span class="item">{$article}</span></div>
{/if}
Константин
08 сентября 2023, 15:41
0
Я правильно составил конструкцию? Или чего то не понял, так ка не заработало
{set $allpara = $_modx->getChildIds(31,4,['template' => 3])}
{set $allpara2 = $_modx->getChildIds(29,4,['template' => 3])}

{if !(($_modx->resource.parent in list $allpara) || ($_modx->resource.parent in list $allpara2))}


  <div class="reward"><span>Артикул:</span> <span class="item">{$article}</span></div>
{/if}
Артур Шевченко
08 сентября 2023, 15:39
+1
Нужно написать плагин который возьмёт нужные данные из $_POST и положит в параметр emailTo.
Андрей Шевяков
08 сентября 2023, 14:25
0
Можно ли решить такую задачу дополнением SendIt?

Есть форма. В ней клиент оставляет email и имя того кому должно уйти письмо.

Необходимо, чтобы письмо после отправки уходило на почты:
— Почта администратора сайта
— Почта того кто отправляет письмо name=«name»
— Почта того кого указали получателем письма в форме name=«recipient_name»

Форма:
<p>Хотите получить это изделие в подарок?</p>
<p>Мы намекнем другу, о чем вы мечтаете</p>
<form action="#" method="post">
    <input type="hidden" name="product" value="{$_modx->resource.id}">
	<div class="input-block">
		<input type="text" name="recipient_name">
		<span class="placeholder">Имя получателя</span>
	</div>
	<div class="input-block">
		<input type="text" name="recipient_email">
		<span class="placeholder">Email получателя</span>
	</div>
	<div class="input-block">
		<input type="text" name="name">
		<span class="placeholder">Ваше имя</span>
	</div>
	<div class="input-block">
		<input type="text" name="email">
		<span class="placeholder">Ваш email</span>
	</div>
	<button class="btn btn-dark" type="submit">Отправить</button>
</form>

Подскажите на что обратить внимание? Т.е. получается нам надо отправлять письма на почты которые заранее неизвестны, их заполняет клиент.
Vladimir
08 сентября 2023, 12:25
0
Здравствуйте,
Компонент категории импортирует успешно, экспорт тоже работает, но вот при попытке импортировать товары ничего не происходит, запускается, но товары не создаёт. В логах импорта товаров пишет одно:
[type] => 8
[message] => Constant MODX_CORE_PATH already defined
[file] => /var/www/www-root/data/www/eatm.site/config.core.php
[line] => 7

Заранее спасибо
Vladimir
08 сентября 2023, 12:22
0
Не туда написал, у меня вторая версия
Здравствуйте.
Компонент категории импортирует успешно, экспорт тоже работает, но вот при попытке импортировать товары ничего не происходит, запускается, но товары не создаёт. В логах импорта товаров пишет одно:
[type] => 8
[message] => Constant MODX_CORE_PATH already defined
[file] => /var/www/www-root/data/www/eatm.site/config.core.php
[line] => 7

Заранее спасибо
Олег
07 сентября 2023, 22:32
0
Спасибо! Заработало ))
[[+image:phpthumbon=`w=640&f=png&zc=0&far=TL`]]
Алексей Смирнов
07 сентября 2023, 22:20
0
2 вызова сделать для 31 и 29. и сделать 2 условия.
{if !(($_modx->resource.parent in list $ali1) || ($_modx->resource.parent in list $ali2))}
Где $ali1 и $ali2 — вызовы с 31 и 29 id.
либо написать свой модификатор array_merge Тк его из коробки нет.
Артур Шевченко
07 сентября 2023, 22:11
0
Я угадал))) класс rows где?
Алексей
07 сентября 2023, 22:04
0
Вы хоть свой вызов и чанки покажите
Да, сори.

<?php

$params = array(
  'ajaxMode'          => 'scroll',
  'parents'           => '0',
  'sortby'            => 'publishedon',
  'includeTVs'        => '',
  'where'             => '',
  'resources'         => '',
  'templates'         => '2',
  'tpl'               => '@FILE chunks/onetpl.chunk.tpl',
  'tplWrapper'        => '@INLINE [[+output]]',
  'pageLimit'         => '10',
  'limit'             => '5',
  //'cache '            => '0',
  //'cacheTime '        => '36000',
  'pageLinkScheme'    => '/[[+page]]',
  'setMeta'           =>  '1',
  'tplPage'           =>  '@INLINE <li class="page-item"><a class="page-link" href="/[[+href]]">[[+pageNo]]</a></li>',
  'tplPageWrapper'    =>  '@INLINE <nav><div class="pagination"><ul class="pagination pagination-sm">[[+prev]][[+pages]][[+next]]</ul></div></nav>',
  'tplPageActive'     =>  '@INLINE <li class="page-item active"><a class="page-link">[[+pageNo]]</a></li>',
  'tplPageFirst'      =>  '@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">[[%pdopage_first]]</a></li>',
  'tplPageLast'        =>  '@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">[[%pdopage_last]]</a></li>',
  'tplPagePrev'        =>  '@INLINE <li class="page-item"><a class="page-link" aria-label="Previous" href="[[+href]]"><span aria-hidden="true">«</span></a></li>',
  'tplPageNext'        =>  '@INLINE <li class="page-item"><a  class="page-link" aria-label="Next" href="[[+href]]"><span aria-hidden="true">»</span></a></li>',
  'tplPagePrevEmpty'  =>  '',
  'tplPageNextEmpty'  =>  '',
  'tplPageFirstEmpty' =>  '',
  'tplPageLastEmpty'  =>  '',
  'tplPageSkip'        =>  '@INLINE <li class="page-item disabled"><a class="page-link disabled"><span>...</span></a></li>',
  //'showLog' => 1,
);

<div class="grid-item" >
  <a href="/{$uri}">
    <figure class="">
      <video width="{$widthVideo}" height="{$heightVideo}"  autoplay loop muted />
        <source type="video/mp4" data-src="{$introtext}.mp4">
      </video>
      <figcaption class="figure-caption">{$pagetitle}</figcaption>
    </figure>
  </a>
</div>


Ставлю рубль против 1000, что у вас некорректная html-разметка.

<div id="pdopage">
          <div class="row grid">
              {$lentaone}
          </div>                                   
          {'page.nav' | placeholder}
      </div>
Артур Шевченко
07 сентября 2023, 21:28
+1
Не задавай ширину и высоту. Или задавай, но только ширину, или только высоту.