Сергей Водолагин

Сергей Водолагин

Был в сети 18 июня 2026, 15:44
Заказы не принимаю
Это временно, как только клиенты начнут уходить к тому, кто предоставляет такой сервис яндекс первый выкатит такое решение. Там будет много вопросов к интеграции с проблемами ушли деньги к продавцу или нет, а возврат оплаты я вообще молчу как они собрались в таком случаи решать.
Спасибо!!!

Может ещё что-то нужно переделать?
<div class="catalog-menu my-gallery" itemscope itemtype="http://schema.org/ImageGallery">
    {if $files?}
        {foreach $files as $file}
            <figure class="catalog-menu-item" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
              <a href="{$file['url']}" title="{$file['name']}" itemprop="contentUrl" data-size="{$file.properties.width}x{$file.properties.height}">
                <img src="{$file['300x225']}" itemprop="thumbnail" alt="{$file['alt']}">
                <h4 class="post__title">{$file['name']}</h4>
              </a>
              <figcaption itemprop="caption description">{$file['name']} {$file['description']}</figcaption>
            </figure>
        {/foreach}
    {else}

    {/if}
</div>
Это для photoswipe использую
Я об этом и пишу пустой поставь [[FileAttach]] будет работать, а чанк оформления залей вместо стандартного FileAttachTpl.
В 2.5.2 много что поправили (статья Василия про безопасность если не читал) проблема в FileAttach, когда автор FileAttach исправит вернёшь всё назад!
Здравствуйте Лев!
1) Предлагаю переписать компонент translit та как он устарел, коль Вы будете делать «Более глубокий контроль ЧПУ» много несовпадений в yandex (нет подсветки слов) + сделать возможность простого редактирования (для менеджеров сайта).
2) Проверка полей на наличие пробелов в начале и в конце строки (криворукие пользователи).
3) Цветовая подсветка букв, разных языков в одном слове.
4) Вывод количества символов в каждом поле.
5) Пагинация, нужна в обратном порядке, чтобы 1 страница всегда была первой, есть очень простое решение костыль: URL оставляем, а меняем только ссылки управления в обратном порядке (последней страницы присваиваем первый номер и т. д.).
6) Генерация sitemap по дате это правильно, но нужно дать возможность проставлять в ручном режиме избранным ресурсам которые важны для клиента (поисковые машины не учитывают данный параметр если страница не посещается и не обновляется).
7) Микроразметка
8) И есть очень большая просьба, когда делаете компонент с большим функционалам не забывайте про то, что многим будет нужно например всего 2 и 3 фичи (Нужна возможность тонкой настройки, например скрытие не нужных полей)
Спасибо!
Если кому нужно вот мой вариант

<div class="aside col-md-4">
	<div class="content__title">Статьи</div>
	<div class="aside-box">
[[pdoResources?
    &parents=`9`
    &tvFilters=`author===[[*id]]`
    &loadModels=`ms2gallery`
    &depth=`0`
    &sortby=`publishedon`
    &tplFirst=`tplAsideFirst`
    &tpl=`tplAside`
    &leftJoin=`{
		"120x90": {"class":"msResourceFile","alias":"120x90", "on": "120x90.resource_id = modResource.id AND 120x90.path LIKE '%/120x90/' AND 120x90.rank=0"}
		,"240x180": {"class":"msResourceFile","alias":"240x180", "on": "240x180.resource_id = modResource.id AND 240x180.path LIKE '%/240x180/' AND 240x180.rank=0"}
	}`
	&select=`{
		"modResource":"*"
		,"120x90":"120x90.url as 120x90"
		,"240x180":"240x180.url as 240x180"
	}`
]]
	</div>
	<div class="content__title">Заметки</div>
	<div class="aside-box">
[[pdoResources?
    &parents=`10`
    &tvFilters=`author===[[*id]]`
    &loadModels=`ms2gallery`
    &depth=`0`
    &sortby=`publishedon`
    &tplFirst=`tplAsideFirst`
    &tpl=`tplAside`
    &leftJoin=`{
		"120x90": {"class":"msResourceFile","alias":"120x90", "on": "120x90.resource_id = modResource.id AND 120x90.path LIKE '%/120x90/' AND 120x90.rank=0"}
		,"240x180": {"class":"msResourceFile","alias":"240x180", "on": "240x180.resource_id = modResource.id AND 240x180.path LIKE '%/240x180/' AND 240x180.rank=0"}
	}`
	&select=`{
		"modResource":"*"
		,"120x90":"120x90.url as 120x90"
		,"240x180":"240x180.url as 240x180"
	}`
]]
	</div>
</div>
tplAside
<div class="dropdown_main dropdown-main aside-main">
		<h4 class="post__title">
			<a href="[[+uri]]" class="news__link link">[[+longtitle:default=`[[+pagetitle]]`]]</a>
		</h4>
		<a class="news__link aside__link" href="[[+uri]]">
			<img src="[[+240x180]]" alt="[[+longtitle]]" class="news__img img">
			<span class="news__date bg-main">[[+publishedon:date=`%d.%m.%Y`]]</span>
		</a>
		<div class="news_text">
			<p class="news__text aside__text">[[+introtext]]</p>
			<a href="[[+uri]]" class="news__readmore link">Читать подробнее</a>
		</div>
	</div>