Избранное пользователя «elastic»

[Plugin] TvTable - прикрепляем к странице таблицу цен

Плагин для небольшого прайс-листа, родственник MultiPhotos. Выглядит так:



( Читать дальше )
  • +13
  • 30 октября 2010, 04:06
  • Temus
  • 71

[Plugin] MultiPhotos - прикрепляем к странице несколько фотографий

Бывает так, что нужно прикрепить некоторое неизвестное количество картинок к странице, а связываться со всякими галереями не хочется. Для этой цели я написал плагин на mootools под Evo, выглядит это так:




( Читать дальше )
  • +14
  • 21 октября 2010, 21:53
  • Temus
  • 265

Настройка nginx + modx revo

Нужна помощь по настройке вебсервера nginx для работы с modx.

( Читать дальше )
  • 0
  • 25 сентября 2010, 05:08
  • Pav
  • 3

[Хак][Evo] Управление страницами не в дереве

Не так давно поднимался вопрос о управлении большим количеством страниц не используя дерево, где дали ссылку на решение yama (но код там не приводился) Захотелось реализовать у себя такое же управление страницами, то есть запретить раскрываться в дереве определенным папкам. Чтобы не создавать отдельное поле, использую поле donthit.


( Читать дальше )
  • +6
  • 23 июля 2010, 14:44
  • Temus
  • 24

Оптимизация Breadcrumbs

В сниппете Breadcrumbs на каждый выводимый пункт меню приходится один запрос в базу (при первом или некэшированном вызове). Можно сократить количество запросов до одного (не считая ссылки на главную), если код
while ( $parent && $loopSafety < 1000 )
{
    // Get next crumb
    $tempCrumb = $modx->getPageInfo($parent,0,"id,parent,pagetitle,longtitle,menutitle,description,published,hidemenu");
заменить на:
$parentIds = $modx->getParentIds($modx->documentObject['id']);
$tempCrumbs=array();
if (count($parentIds)) $tempCrumbs=$modx->getDocuments($parentIds, 1, 0, '*', '','published', ', FIELD (sc.id,'.implode(',',$parentIds).')');
foreach ( $tempCrumbs as $tempCrumb )
Это сэкономит 3-7 запросов в базу.
А ссылку на главную лучше прописать вручную.
  • +3
  • 19 июля 2010, 19:43
  • Temus
  • 8

SBShop 0.1a - альфа-версия интернет-магазина для MODx

Спешу поделиться с вами очень радостной новостью. Наконец-то разработка электронного магазина для MODx под кодовым названием SBShop приобрела некий ощутимый и рабочий вид. Первая альфа!

Информации очень много, поэтому не буду вдаваться в лирику и перейду к делу. Описывать буду как все устроено, а не «как сделать магазин».

( Читать дальше )
  • +9
  • 20 июня 2010, 00:57
  • Carw
  • 114

Прикрепляем галерею easy2 к странице


Есть отличный способ прикрепить галерею easy2 к странице.

Но его существенный недостаток в том, что при выводе списка галерей они идут одной портянкой.

Я написал простой сниппет easy2DropDown чтобы решить эту проблему.

( Читать дальше )

Maxigallery не обрезает картинки по высоте

задаю параметр при вызове &max_pic_size=`500x310`, загружаю картинку с размером 600х400-обрезает, загружаю картинку с размером 400х500 — не обрезает. Тоесть ресайзит только если ширина больше максимальной, почему?… может кто сталкивался и наше решение?

Оптимизация PHx - убираем лишние запросы к БД

На modxcms.com пользователь tobice столкнулся с проблемой чрезмерно большого количества обращений к БД.
В результате выяснилось, что в плагине PHx содержится досадная ошибка, которая приводит к 1 дополнительному запросу к БД при каждом вызове phx-сниппета. К примеру, если вы используете Дитто, то вы получите по N дополнительных запросов на каждую итерацию (в случае некешируемого вызова)!


( Читать дальше )

Snippet prevnextPage



Вероятно у всех рано или поздно возникает необходимость создать ссылки на предыдущую и следующую страницы в папке.

Собственно для этого мною и был написан сниппет prevnextPage

Он делает простую вещь, устанавливает плейсхолдеры [+pnp_prev+] и [+pnp_next+]. Шаблон плейсхолдера можно задать как в коде так и в чанке. Можно установить префикс для плейсхолдеров, для множественного вызова на странице.

Сниппет проверит, если он вызван в документе, который не расположен в интересующей нас папке, то он благоразумно оставит плейсхолдеры пустыми.

В общем не вижу преград для его использования =)

( Читать дальше )