Захарий

Захарий

С нами с 02 февраля 2015; Место в рейтинге пользователей: #326

[ms2form] Новые возможности для редактирования



Вышла новая версия компонента для публикации и редактирования товаров minishop2 c фронтэнда сайта.
Антон Мамрашев
30 апреля 2015, 23:35
modx.pro
15
9 187
+7

[ms2Gallery] Версия 1.3.0 - сниппет ms2GalleryResources

Как и обещал, представляю вашему вниманию новую версию ms2Gallery со сниппетом для вывода ресурсов с прикреплёнными изображениями.

Честно говоря, это вопрос №1 в поддержке магазина по ms2Gallery — «как вывести документы из контейнера такого-то с присоединением превью такого-то?». И мне очень надоело объяснять, как работает вот эта портянка:
[[!pdoPage?
	&element=`pdoResources`
	&loadModels=`ms2gallery`
	&parents=`0`
	&tpl=`myRowTpl`
	&leftJoin=`{
		"120x90": {"class":"msResourceFile","alias":"120x90", "on": "120x90.resource_id = modResource.id AND 120x90.path LIKE '%/120x90/' AND 120x90.rank=0"}
		,"360x270": {"class":"msResourceFile","alias":"360x270", "on": "360x270.resource_id = modResource.id AND 360x270.path LIKE '%/360x270/' AND 360x270.rank=0"}
	}`
	&select=`{
		"modResource":"*"
		,"120x90":"120x90.url as 120x90"
		,"360x270":"360x270.url as 360x270"
	}`
]]
[[!+page.nav]]

Поэтому с версии 1.3.0 вы можете вызывать отдельный сниппет:
[[!pdoPage?
	&element=`ms2GalleryResources`
	&parents=`0`
	&tpl=`@INLINE
	<p>
		<a href="[[+uri]]">[[+pagetitle]]</a>
		<a href="[[+120x90.original]]"><img src="[[+120x90]]" title="[[+120x90.name]]" /></a>
	</p>
	`
	&typeOfJoin=`inner`
	&includeThumbs=`120x90,360x270`
	&includeOriginal=`1`
]]
[[!+page.nav]]
Как видите, теперь всё стало гораздо проще.
Василий Наумкин
21 октября 2014, 04:26
modx.pro
7
6 757
+7

Работа с phpThumb


Не многие задумывались, что вместе с MODX Revolution поставляется и phpThumb. Это, фактически, единственная и самая крутая библиотека для работы с изображениями на PHP.

В MODX принято работать с ней через сниппет phpThumbOf, однако у него есть существенные недостатки, например серьёзные тормоза и странное кэширование. Поэтому, верным способом будет работа с библиотекой напрямую.

При разработке "Файлохранилища" мне пришлось покопаться в том, как устроен phpThumb и как он интегрирован в MODX, в результате чего появился универсальный рецепт использования этой библиотеки для генерации изображений.

Заодно решил известную проблему с генерацией уменьшенной копии, с обрезкой из левой верхней части картинки.
Василий Наумкин
27 января 2013, 07:00
modx.pro
25
29 342
0

Самые быстрые сниппеты с pdoTools

Давно изместно, что xPDO не нужен для выборки и вывода большого количества данных. Зачем его использовать, создавая кучу объектов, жрать процессор и память, если мы хотим просто выбрать 100 строк из БД и вывести их на экран?

Тут больше подойдет специальный сниппет, который будет работать через PDO, без объектов. Таких сниппетов я написал немало, и в один момент мне надоело их копипастить с разных проектов и изменять.

Тогда я написал себе список хотелок:
— Быстрое создание готового сниппета.
— Любые выборки, из любых таблиц с любыми условиями и джоинами.
— Учет времени на каждую операцию, подробный лог для выявления узких мест.
— Итоговые сниппеты должны работать с getPage, автоматически.
— Лёгкая кастомизация, оно не должно меня ограничивать.
— Самый быстрый рендер чанков, быстрее только вообще без них.

Simple Dream дали добро на это дело, и в итоге вышла мини-библиотека pdoTools, которая уже входит в состав Tickets и войдёт в miniShop2.

Она отвечает всем моим требованиям и позволяет писать самые быстрые сниппеты для MODX Revolution, всего за 10 минут.
Василий Наумкин
11 января 2013, 06:43
modx.pro
8
13 887
0

Как не хакать сторонние классы

Бывает, что вы используете какой-то сниппет или компонент, и он немного вас не устраивает. Вам нужно поправить буквально пару строк, но вы понимаете, что при обновлении эти измения пропадут.

Что же делать?
Все просто — нужно расширить сторонний класс своими методами. По сути, это очень похоже на «классные процессоры», только без процессоров и использовать можно везде — это стандартная возможность ООП.
Василий Наумкин
30 июня 2012, 12:21
modx.pro
53
7 730
0