0.00
676 читателей, 3174 топика

[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 и что лучше сделать?

[REVO] Проверка прав пользователя

Всем привет!

Преамбула.
Почему так слабо в документации освещены ньюансы работы с права пользователей, группами, политиками доступа и т.п.? Конечно, вопросы кэширования, разгона админки, дыр безопасности тоже очень важны, но куда без системы разграничеия прав?

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

[REVO] Сниппет Rowboat и условие в параметре where

Приветствую! В сниппете Rowboat нужно в параметре where задать условие, чтобы выводились данные, где id входить в заданный список. У этого сниппета в параметр where нужно записывать условия в json формате, но у меня не получается правильно написать(ничего не выводится). Пишу так
&where=`{"id IN":"1,2,3,4,5"}`
ничего не выводится. Я пробовал разные варианты написания этого условия, но ничего не получилось. И не могу найти в сети примера с IN в этом сниппете. Если кто встречался с таким, напишите как будет правильно. Спасибо за помощь!

[REVO] Shopkeeper 2.2.4 + tagManager - пагинация.

Здравствуйте, разрабатываю сайт на Modx Revo 2.2.5 + Shopkeeper 2.2.4 + tagManager.
Настроил, всё фильтрует.

Добавил несколько товаров, появилась пагинация. при переходе на вторую страницу выводит нужное количество, но сама пагинация пропадает + при переходе Назад остаются всё те же товары что и на второй странице.

Проблемная страница тут: sonet.webinmd.com/catalog/kompyuteryi/amd/

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

[EVO] [Решено] Пропала пагинация после переезда сайта

В общем сделал сайт, на сервере моем работает нормально, перенес к заказчику — не работает постраничная разбивка. Причем не в одном месте, вообще по всему сайту. Куда копать ума не приложу, может быть кто-то сталкивался, подскажет? Заранее спасибо.

Упд — под «не работает» подразумевается то, что сама навигация выводится, при клике на переход на другую страницу в адресной строке добавляется к урл-у ?start=10, но переход на страницу не выполняется, страница перезагружается и остается там где была. Только что попробовал задать Ditto уникальный id, навигация попросту исчезает со страницы.

УПД 2 — проблема решилась правкой .htaccess (еще раз спасибо alooze за задание верного направления). У клиента свой сервер использующий FastCGI и массу других собственных настроек.

Строка RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Была заменена на RewriteRule ^(.*)$ index.php?q=$1 [L]

и все заработало.