[EVO] TreeTabs

Плагин добавления закладок к дереву документов. Доступен в сборке Dmi3yy



Также доступно перемещение документов указав родителем саму закладку!

Все ошибки и пожелания просьба писать ниже

[EVO] IF обновлён

Сниппет IF обновлен. Он в сборке Dmi3yy а также if.zip

— исправлены ошибки.

Крайне советую пользывать в связке с BAH (анти хакер) ссылку дам позже.

Подробное описание (большое спасибо akool за оформление документации)

все ошибки и вопросы просьба писать сюда

[EVO] Ditto или Wayfinder

Решил сделать на сайте «глоссарий» выводим буквы-по нажатию открывается страница.
при том я сделал папку «Словарь» и в нём документы: А Б В…
Вот и думаю что лучше сделать поставить Ditto с glossaryFilter.extender.inc.php или просто Wayfinder-ом вывести этот список)
Сейчас стоит Ditto — но что то я запутался с количеством запросов и производительностью что из них лучше?

[REVO] Как вывести список всех дочерних документов определёного родителя?

Есть снипет, нужно получить список всех алиасов дочерних документов родителя, тоесть если брать в пример сайт www.koshkidoma.ru/catalog/abakan/ нужно в снипете получить список алиасов и присвоить им переменную, которой потом сравнивать в массиве и выводить нужную картинку.

Вот код сниппета:


<?php
	// id документа
        $resourceId = $modx->resource->get('id');
	$resourceAlias = $modx->resource->get('alias');

        // все дочерние ресурсы
        $allChildren = $modx->getChildIds($resourceId, 1);
		$allChildrenAlias = $modx->getChildIds($resourceAlias, 1);

        if(count($allChildren)) {

                // выборка ресурсов
                $childQuery = $modx->newQuery('modResource');

                // опубликованные, не удаленные, соль, перец - по вкусу
                $childQuery->where(array('published'=>true,'deleted'=>false,));

                // нужны только дочерние, не забыли?
                $childQuery->where(array('id:IN'=>$allChildren,));

                // собственно акт получения ресурсов
                $publishedChildren = $modx->getCollection('modResource',$childQuery);

                $output = '';

                $result = array();

				 $image = array
				 (
					'pitomniki' => 'assets/images/catalog/pitomniki.jpg',
					'priyutyi-dlya-zhivotnyix' => 'assets/images/catalog/priyuti.jpg',
					'salonyi-krasotyi-dlya-koshek' => 'assets/images/catalog/saloni.jpg',
					'tovaryi-dlya-zhivotnyix' => 'assets/images/catalog/tovari.jpg',
					'akvariumyi' => 'assets/images/catalog/akvariumi.jpg',
					'veterinarnyie-apteki' => 'assets/images/catalog/apteki.jpg',
					'veterinarnyie-kliniki' => 'assets/images/catalog/kliniki.jpg',
					'veterinarnyie-preparatyi' => 'assets/images/catalog/preparati.jpg',
					'zootovaryi' => 'assets/images/catalog/zootovari.jpg',
					'klubyi-domashnix-zhivotnyix' => 'assets/images/catalog/klubi.jpg',
					'kombikorm' => 'assets/images/catalog/kombikorm.jpg',
					'uslugi-po-uxodu-za-zhivotnyimi' => 'assets/images/catalog/uslugi.jpg',
					'kormovyie-dobavki' => 'assets/images/catalog/dobavki.jpg'
				 );

				 foreach ($image as $key => $value) {
				 	$key = $allChildrenAlias;
				 	print('<pre>'.$childs.'</pre>');
				 }



                // шаблон вывода каждого ресурса
                $tpl = $modx->getOption('tpl', $scriptProperties, 'catalogViewTpl');

                foreach ($publishedChildren as $childObject) {

                        $child = $childObject->toArray();

						$modx->setPlaceholder('imgcat', $value);

                        //склеиваем выдачу
                        $output .= $modx->getChunk($tpl, $child, $ke);


                }

                // приподносим пользователю.
                return $output;
        }


Помогите пожалуйста советом.

[REVO] Лог ошибок сервера

2012/11/29 18:30:38 [error] 18182#0: *48254 open() "/var/www/***/public_html/mutko-okonchate/2012/11/29/vstrechat-goste/images/maradon-top.png" failed (2: No such file or directory), client: 173.252.100.118, server: ***.ru, request: «GET /mutko-okonchate/2012/11/29/vstrechat-goste/images/maradon-top.png HTTP/1.1», host: "***.ru"

тут /mutko-okonchate/2012/11/29/vstrechat-goste url
/images/maradon-top.png а это путь к картинке

Подскажите, пожалуйста, почему такие пути странные и как исправить?

[REVO] Тестируем нагрузоустойчивость сайта?! Last UPD - 03.12.12

Создавал я как-то такой топик: MODx Revo 2.2.4pl потребление памяти сервера.
Что я только не делал, заваливается сервак. Нашел исходники loic, при 5 коннектах и закидыванием рандомных запросов, сервер мой гаснет, точнее по логике вылетать должен веб-сервер, а не виртуалка в целом, но увы тухнит виртуалка, которая кстати пингуется, но не через ssh, не через vnc не возможно достучаться. Приходиться делать повер офф и запускать заново виртуальную машину. Сделал бекап последней версии сайта, сижу извращаюсь над виртуальной машиной как могу.

Читать дальше →

[EVO] phx:phpthumb — проблемы с нагрузкой

На хостинге сегодня было превышение лимита нагрузки, из-за чего все сайты несколько раз вырубали на 15 минут. Сайты не такие уж посещаемые, максимум 1000 человек в день на одном, а в среднем на каждый заходят меньше 100 человек в день.
Из детализации выяснил, что в районе 12 часов дня за промежуток в 1 час был вызван image.php 4134 раз, при этом index.php на той же площадке — 717 раз. Посетителей к тому времени было около 300 (за день, а не онлайн). image.php — это от phx:phpthumb, используется для создания превьюшек в каталоге товаров.
Только сейчас заметил, что адрес картинки генерируется в виде:
/image.php?src=assets/images/blablabla.jpg&w=230&hash=81fba9692e88c236a61062131bb215669b4951

Т.е. он при каждой загрузке страницы заново генерирует картинку?
Я думал, что превьюшки должны создаваться на сервере, чтоб создавать потом меньше нагрузки. Объясните смысл в этом image.php и что лучше сделать?

[Очень критично] Описание второй баги в плагине Forgot Manager Login

Разработчики MODX очень любят использовать функию empty. Но эта функция пороуй может сиграет с нами злую шутку.

Читать дальше →

[REVO] Доработка tagManager 1.2

UPD: Первый пункт выполнен. tagManager 1.3.1

//////////////////////

Добрый день.
Необходимо доработать tagManager 1.2:
1. Необходимо иметь возможность размещать как минимум 2 числовых фильтра со слайдером на страницу
2. Логика расчета циферок рядом со значениями фильтра должна быть следующая: Показывать количество товаров, которое прибавится если выбрать фильтр. (Как я понял сейчас показывается количество товаров которое будет всего, если выбрать фильтр)
Необходимы сроки и стоимость.

Если есть альтернативные варианты решения — готов выслушать.