Ганин Роман

Ганин Роман

Был в сети 18 сентября 2019, 02:48
Заказы не принимаю
Нет, Александр, вы все правильно говорите. Это мы — китайцы, вас не понимаем…
Во-первых, MODX — CMF, а не CMS, т. е. это в принципе подразумевает модульность и распределённость элементов (MVC же!): представление отдельно, логика — отдельно. Это преимущество, а не недостаток. Перефразируя ваш пост выше: «Не получится у вас просто поставить любой HTML+CSS+JS-шаблон на WP или Joomla, и он будет работать!». А в MODX — пожалуйста, можно. Вообще любой.
На MODX нельзя поставить шаблон от WordPress, Joomla, Drupal, Bitrix. Это да, косяк. Грусть, тоска. Но вы же не будете обижаться, например, на PhotoShop, за то, что, скачав его, вы не научились рисовать, правда?
Во-вторых, возможно, я вас разочарую, но большинство известных вам дополнений для MODX (мы называем их приложениями) на самом деле используют «коробочные» возможности MODX. Т. е. они там были изначально, просто конкретное приложение «изолирует» эти возможности в отдельное приложение — сниппет. И этих «коробочных» возможностей
так много, что отображать их — только зря пугать неподготовленного новичка. А MODX создавался для разработчиков.

Это вам не шахматы — тут думать надо…

Но это все холивар и пустое мерянье пиписьками. Давайте, я приму ваш вызов и соглашусь сделать вместе с вами одну задачу. Я буду делать на MODX, вы — на удобной вам системе. Цель — создать настраиваемый шаблон. Согласны?
А что вы понимаете под виджетами, Александр? Просто в MODX виджетами называют спец. блоки на главной странице админки (Dashboard), которые позволяют отображать статистику посещений, продаж (для магазина), стримить последние посты с блога (вашего или стороннего: RSS, Twitter и т. д.).
На одном из сделанных мной сайтов, например, я сделал такую панель для менеджеров:


А если вы имеете в виду «виджеты» а-ля «Форма обратной связи», «Последние фотки из Инстаграма», «Погода» и т. д., то тысячи их
Ну, не то чтобы ошибся… Просто Developer Experience у WordPress/Joomla/Drupal несколько отличается от такого в MODX. Они действительно рассчитаны на разные задачи. Сложные вещи на MODX делать проще. Простые — зависит уже от опыта. Именно наличие базовых навыков является тем «бутылочным горлышком». В моем понимании базовые — это как минимум знание спецификаций HTML/CSS/JS/PHP. А это годы практики.
Я, прежде чем выбрать MODX, потратил несколько месяцев на тестирование и сравнение других популярных CMS. Опыта на тот момент катастрофически не хватало, но я сделал свой выбор и до сих пор ни разу не пожалел. И знаете, по аналогии думаю, что другие разработчики (я вас имею в виду) тоже прошли долгий и тернистый путь, прежде чем оказались здесь. Это заслуживает уважения и делает вас на несколько порядков выше остальных разработчиков на других системах.
Можно решить с помощью GET-параметров, это исключит дублирование страниц товаров, отличающихся друг от друга значением, например, выпадающего списка. А в нём уже (в выпадающем списке) проверяете наличие этого параметра, например, если используете pdoTools c fastParsers:

url: mysite.com/items/item100500?size=XXL

<label for="size">Размер:</label>
<select name="size" id="size">
  <option value="S"    [[#GET.size:is=`S`:then=`selected`:else=``]]    >S</option>
  <option value="M"    [[#GET.size:is=`M`:then=`selected`:else=``]]    >M</option>
  <option value="L"    [[#GET.size:is=`L`:then=`selected`:else=``]]    >L</option>
  <option value="XL"   [[#GET.size:is=`XL`:then=`selected`:else=``]]   >XL</option>
  <option value="XXL"  [[#GET.size:is=`XXL`:then=`selected`:else=``]]  >XXL</option>
  <option value="XXXL" [[#GET.size:is=`XXXL`:then=`selected`:else=``]] >XXXL</option>
</select>
Только добавьте проверку на JS поддержки window.history. Если поддерживает, меняете URL в адресной строке без перезагрузки страницы, если нет — просто window.location.href на новый адрес при изменении значения выпадающего списка.
Решать этот вопрос через CSS, а уж тем более через JavaScript как-то уж совсем не канонично. Тег выдаёт шаблонизатор MODX или браузер? Чтобы проверить это, просмотрите возвращаемый код CURL'ом или через браузер («просмотр кода страницы», например, в Google Chrome). Есть вероятность, что это проделки расширения браузера.
Какая-то плотная аура мешает мне пробиться сквозь ваш фаервол и открыть файл 14.include.cache.php в каталоге /core/cache/includes/elements/modplugin/ на 281-ой чакре… Но шайтан явно перетасовал переменную freemax. Может, удосужитесь посмотреть, что вы там не так наколдовали?