elec3c

elec3c

Был в сети 17 июля 2026, 18:43
Заказы принимаю
Я могу ошибаться, но яндекс браузер строится на мозиле. Проблемы начинаются когда ваш хостер, в попытке ускорить ваш сайт начинает кэшировать всё подряд. Возможно можно как-то заставить его не кешировать определённые элементы, но я пока хз как.
Решено. Сервер хостера кэширует всё в усмерть. Что бы решить проблему необходимо включить в htaccess следующие директивы
<IfModule mod_headers.c>
Header append Cache-Control «no-store, no-cache, must-revalidate»


# Заголовок Expires
<IfModule mod_expires.c>
ExpiresActive On ExpiresDefault «now»

После этого сбросить кэш в браузере. Это немного замедлит сайт, но корзинна и все динамические элементы станут работать корректно.
На вкус и цвет все фломастеры разные. Я предпочитаю получать стили и изображения не сжатыми. Когда у заказчика на финальном этапе возникает мысль поменять мелочь в оформлении и ради правки мелочи, ползание по сжатым скриптам/стилям превращается в неприятность. У нас есть phpthumbon и minifyx. таким образом на большом проекте у меня лежат штук 10 небольших css файлов, которые удобно читать и редактировать. Единственная проблема которую я пока не решил — как вырезать из css неиспользуемые на сайте стили, это позволило бы облегчить html-framework.

С картинками такая же история — зачем заранее сидеть и подгонять их под размер, потом оптимизировать. Получается лишний труд. Один раз загрузил и выводишь через phpthumbon в нужном качестве и с нужным разрешением.
Воспользуйтесь лучше сниппетом pdoMenu docs.modx.pro/komponentyi/pdotools/snippetyi/pdomenu
Там есть возможность делать шаблоны для ресурсов контейнеров. А для обёртки раскрывающегося списка подойдёт уже любой шаблон из интернета, отлично станет на этот сниппет.
Можно сделать хитрый трюк, хоть и костыль. Например писать в описании изображения ключ. Например 1, а при выводе галереи проверять значение [[+description]], если оно равно вашему ключу то писать одно оформление, если нет, то другое. проверить можно fenom'ом или плагином If/
Вывод таблицы:
<table class="products">
<thead>
<tr style="font-weight:600;">
	<td>Сплав</td>
	<td>Размер</td>
	<td>Состояние</td>
	<td>Наличие</td>
	<td>Цена</td>
	<td>Примечание</td>
	<td>Фото</td>
</tr>
</thead>
    [[!pdoPage? 
        &element=`msProducts`
        &tpl=`products_row`
        &includeTVs=`prod-img`
    ]] 
</table>
includeTVs — Список ТВ параметров для выборки, через запятую. Например: «action,time» дадут плейсхолдеры [[+action]] и [[+time]].

Чанк products_row:
<tr>
	<td class="prod-name">{$pagetitle}</td>
	<td class="prod-size">[[!msOptions? &options=`size` &tpl=`tpl.msOptions-sizes` &product=`[[+id]]`]]</td>
	<td class="prod-sost">[[!msOptions? &options=`sost` &tpl=`tpl.msOptions-sizes` &product=`[[+id]]`]]</td>
	<td class="prod-nalichie">[[!msOptions? &options=`nalichie` &tpl=`tpl.msOptions-sizes` &product=`[[+id]]`]] кг</td>
	<td class="prod-price">{$price | replace:" ":""} руб.</td>
	<td class="prod-primechanie">[[!msOptions? &options=`prim` &tpl=`tpl.msOptions-sizes` &product=`[[+id]]`]]</td>
	<td>[[+prod-img]]</td>
</tr>
Если ничего не напутал, то должно сработать.
Можно модифицировать параметр &fieldNames так чтобы можно было выводить разные типы инпутов и задать обязательные параметры, возможно что-нибудь ещё

&fieldNames=`name:text:required==Имя, email:email:required==E-mail`
2 а В одном из проектов я, что-то подобное делал, но начинаются проблемы при добавлении комметариев и обновлении их списка, надо лезть ручками в код компонента. Более подробно не подскажу, так как проект уже пару лет как похоронил.
Для общения можно попробовать ModxTalks. Легко устанавливается и настраивается.