Юрий

Юрий

С нами с 12 июня 2019; Место в рейтинге пользователей: #376
Юрий
25 января 2020, 20:23
0
В принципе такой подход вполне себе реализуем. В плагине на событии сохранения ресурса.
1. Считывается TV MIGX этого ресурса (формируется массив id Исполнителей)
2. В цикле (по id Исполнителей) вытаскиваются и переписываются с учётом новых данных TV MIGX Исполнителей.
Юрий
25 января 2020, 15:21
0
Я думаю Максим Кузнецов правильно говорит. Надо сделать по «феншую», иначе вы сами себе создаёте кучу граблей. Например, если исполнитель поменяется? Что вы будете делать? бегать по всем заказам. Вам бы, хотя бы использовать инструмент мультикатегорий Минишопа, если уж вы не хотите создавать сущность Испольнителя или Заказа через MIGX DB.
Юрий
25 января 2020, 13:53
0
С тобой полностью согласен, но бывает, что костыль на некоторое время бывает уместен
{'!pdoResources' | snippet : [
  "tvFilters" => "filter2==" ~ ('Петров' | toJSON)
]}
Конечно фильтр должен быть настроен с учётом тех данных, которые в базе
Или в случае с MIGX через джоины и LIKE
Юрий
23 января 2020, 18:44
0
Используя pdoResources сделать выборку и отфильтровать её по TV с учётом того, что данные там в JSON формате
Юрий
18 января 2020, 14:43
0
Я думаю в любой профессии и на любом движке сидят много попоруких. Дело в том, что таких попоруких приглашают в проект попоголовые заказчики.
И это везде так, но радует, что не поголовно:)
Юрий
12 января 2020, 17:45
0
Немного дополню.
Мне кажется было бы полезно для сообщества иметь такой список аргументов перед глазами. Если оно поддержит, со своей стороны я готов подбросить пару идей.
Просто порой после беседы с таким заказчиком остаётся осадок недосказанности и хорошие идеи в качестве аргументов «приходят опосля».
Юрий
12 января 2020, 17:34
0
А с тобой соглашусь вот в чём.
Есть заказчики, которые уже сами более или менее склоняются к той или иной SMC. И доводы, как правило такие:
1. Это популярная система и я легко найду исполнителя (специалиста, разработчика).
2. У этой системы много готовых решений, в которых мне самому легко разобраться и запустить их в работу.
3. Установив эту систему можно легко и быстро развернуть простой магазин, блог и т.п., особенно купив при этом готовый шаблон с качественным дизайном.

И вот тут да, с таким заказчиком, у которого сложилось, я бы сказал так, «соц.медийное» впечатление о разработке сайта, разговаривать с ним и что-либо доказывать ему очень трудно и переубедить практически невозможно. И в зависимости от проекта, пока он сам «не наломает дров» (потратит время, деньги и нервы на поисках действительно настоящего специалиста) ситуация не измениться.
Именно здесь я предлагаю выписать список своих аргументов, ответов на вышеперечисленные доводы «информированного заказчика». И самое интересное без отсылки к MODX. А уж потом, когда он будет уже настроен вас внимательно выслушать (так как у него сформировалось к вам доверие как к специалисту), вы уже можете предлагать адекватные инструменты реализации его проекта. И это может быть не только MODX в качестве бекэнда, но соответствующие инструменты по фронту и т.д.
Юрий
12 января 2020, 14:23
+9
Оставлю и свои 2 копейки.
Иногда заказчику разумнее выбирать не CMS, а разработчика. Умный и ответственный всегда подскажет правильный подход в выборе инструмента и поможет в этом заказчику, даже если сам будет участвовать в этом проекте косвенно.
И поверьте такой разработчик даже если он работает только с MODX, потому что он любит и знает эту систему хорошо, всегда будет при деле.
Юрий
30 декабря 2019, 15:31
+1
Не за что.
Спасибо и Вас тоже с наступающим.
Юрий
30 декабря 2019, 14:00
1
+1
Сделай так
{set $arr[]}
{set $rows = json_decode(1 | resource : 'field-news', true)}
{foreach $rows as $idx => $row}
	{if $row.date | in : $arr}{continue}{/if}
	{set $arr[] = $row.date}
	<option value="">{$row.date | date : "Y"}</option>
{/foreach}
Юрий
30 декабря 2019, 13:29
0
Поменяй на эту строку
{set $arr[] = $row.date}
Лишняя скобка
{set $arr[]}
{set $rows = json_decode(1 | resource : 'field-news', true)}
{foreach $rows as $idx => $row}
	{if $row.date | in : $arr}{continue}{/if}
	{set $arr[] = $row.date}
	<option value="">{$row.date | date : "Y"}</option>
{/foreach}
Юрий
30 декабря 2019, 12:30
0
{set $arr[]}
{foreach $rows as $idx => $row}
	{if $row.date | in : $arr}{continue}{/if}
	{set $arr[] = {$row.date}
	<option value="">{$row.date | date : "Y"}</option>
{/foreach}
Юрий
22 декабря 2019, 23:57
0
Я думаю передавать данные можно только строкой, а вот выводить можно массив.
Для ваших целей без той или иной сериализации не обойтись, возможно, что подойдёт JSON
Юрий
14 октября 2019, 12:15
0
Спасибо за статью! И, да присоединяюсь к просьбе по поводу парсера страниц. Было бы интересно.
Юрий
10 июля 2019, 14:04
0
Извиняюсь, не увидел ответы
Юрий
09 июля 2019, 12:46
0
if (!$pdoTools = $modx->getService('pdoTools')) return;
Юрий
12 июня 2019, 20:31
+1
Это можно было сделать, изменив настройки редактора tiny.base_url на "/" и tiny.path_options на «rootrelative»