Дмитрий

Дмитрий

Был в сети 30 августа 2024, 20:01
Заказы не принимаю
Добрый день!

Я бы делал так (синтаксис fenom):

{$_modx->runSnippet('pdoResources',[
  'parents' => 0,
  'limit' => 0,
  'tpl' => '@INLINE {if $id|resource:"content"}<a href="{$id|url}">{$pagetitle}</a>{else}<span>{$pagetitle}</span>{/if}'
])}
Или просто код шаблона результата:

{if $id|resource:"content"}<a href="{$id|url}">{$pagetitle}</a>{else}<span>{$pagetitle}</span>{/if}
Ещё было бы классно узнать про работу с контекстами. Например, есть несколько сайтов региональных на поддоменах. Задача создавать ресурсы в одном контексте, а в других – выводить те же ресурсы, но со своими переменными (город, телефон) и своими чанками (например, отзывы, карта офиса).

В то же время оставлять возможность создавать ресурсы, которые видны только в определённом контексте.
Павел, класс!

Было бы классно про создание CMP и сборку пакетов. Я знаю, что есть примеры Василия Наумкина и Боба Рея, на классно было бы альтернативу изучить.

Особенно волнуют вопросы добавления сложных кастомных полей (как товаров, так и ресурсов). Например добавление поля ресурса с типом «автотег» (как tvSuperSelect, но без ТВ). Или добавление полей изображений.

Очень интересно, как подключать дополнительные JS-модули и использовать их функционал – например, сделать поле ресурса с рендером картинки, которую можно «кропнуть» кастомным кроппером и сохранить в файл.

Также интересно почитать про методы оптимизации скорости загрузки сайта на fenom.

Я пользуюсь нормальным shared-хостингом, но интересно почитать про настройку MODX на выделенном серевере.
ImportX – modx.com/extras/package/importx
Импорт через csv. Бесплатный.

Есть отличный catalogfill – импорт / экспорт, в том числе через xls. Платный. Раздел с дополнениями, где его можно купить сейчас не работает. Но можно написать автору. Он владелец форума forum.modx-shopkeeper.ru/
Алексей, благодарю за отличный компонент!

Интеграция с галереей ms2Gallery была бы очень кстати. Скажите, пожалуйста, когда планируете реализовать? Готов спонсировать! Сообщите, пожалуйста, по стоимости доработки.
Рабочий код. Использую на всех проектах. Modx 2.5.8, 2.6. Версия php 7.0, 7.1
Пример для нескольких источников и разных шаблонов. Системные события проставить соответственно: OnDocFormSave и OnDocFormRender

<?php
$tplList3=Array("10,12,14"); //Шаблоны с источником файлов "3" через запятую
$tplList5=Array("11"); //Шаблоны с источником файлов "5"
$tplList6=Array("15"); //Шаблоны с источником файлов "6"

if (($modx->event->name == 'OnDocFormSave' && $mode == modSystemEvent::MODE_NEW) OR  ($modx->event->name == 'OnDocFormRender' && $mode == modSystemEvent::MODE_UPD)) {
  foreach($tplList3 as $tpl){ // Поочерёдно считываем данные из массива
    if($resource->get('template')==$tpl){
      $properties = $resource->get('properties');
      $properties['ms2gallery'] = array('media_source' => 3); //источник файлов
      $resource->set('properties', $properties);
      $resource->save();
      return;
    }
  }
  foreach($tplList5 as $tpl){ // Поочерёдно считываем данные из массива
    if($resource->get('template')==$tpl){
      $properties = $resource->get('properties');
      $properties['ms2gallery'] = array('media_source' => 5); //источник файлов
      $resource->set('properties', $properties);
      $resource->save();
      return;
    }
  }
  foreach($tplList6 as $tpl){ // Поочерёдно считываем данные из массива
    if($resource->get('template')==$tpl){
      $properties = $resource->get('properties');
      $properties['ms2gallery'] = array('media_source' => 6); //источник файлов
      $resource->set('properties', $properties);
      $resource->save();
      return;
    }
  }
}