Dr.Watson
Чем так хорош doclister что все на него советуют переходить? Я посмотрел документацию - ничего особенного не нашёл. Или не там читал? Где про него посмотреть чтоб "влюбиться"?
alexx
быстрее работает, меньше запросов, больше возможностей
alexx
http://modx.im/blog/docs/2676.html
alexx
http://docs.evolution-cms.com/Extras/Snippets/DocLister
Dmytro
Используя препаре вместо вложенных вызовов снипета можно в 2-3 раза ускорить работу сайта потратив 10 минут времени
Dmytro
В целом я сам долгое время не обращал на него внимание Но когда довелось оптимизировать тормозной сайт Сразу понял в чем его прелесть ;)
alexx
а как насчет идеи для массового переползания - написать обертку [[DDitto? ...]] с передачей параметров в доклистер, типа добавил 1 букву и все работает?
Dmytro
там не так много переделывать надо 🙂
Dmytro
зачастую только &tvPrefix=`` &tvList=`список тв` ну и параметры пагинации )
Dmytro
👍
Это все спасибо Сергею Кочину это он взялся за неблагодарную работу вычистить кривой js из Админки и сделать разные крутые плюшки
Alexander
Если возможность сделать разные категории(родительские докуметы) сайта как отдельные поддомены? (фантазии заказчика ;) )
Dmytro
Да
Alexander
ок, спасибо
Александр
в phpmailer'e были изменения? перестал eform работать
Dmytro
Неа не трогали его с версии 1.2.2
Александр
попробую на формлистере переписать.. мб поможет...
Александр
http://joxi.ru/52aBjqVUGl0ewA
Александр
на сервере среди прочих запрещенных функций в php.ini есть и эта escapeshellarg.
Sazanof
Привет, ребята. Заметил. что неверно обрабатываются как конструкции вида [*id:(условие)*] так и сниппет IF вызов типа [[if? &is=`id:in:1,3` &then=`RES = in-[*id*]` &else=`RES = not_in-[*id*]`]] [[if? &is=`id:is:3` &then=`RES = in-[*id*]` &else=`RES = not_in-[*id*]`]] всегда возвращает NOT_IN на странице с ID 1 и или 3
Sazanof
верстия 1.3.4
Dmytro
Ну логично
Dmytro
Is [*id*]:in:
Dmytro
Тогда будет работать
Sazanof
оу, а почему же [*id:in(1,3):then() не срабатывает?
Dmytro
Потому что id это текст
Dmytro
А как бы текста в масиве из 1 и 3 нет
Sazanof
Is [*id*]:in:
Да, тут тупанул
Dmytro
Да, так будет работать
Sazanof
Потому что id это текст
А раньше работало)
Dmytro
Нет
Dmytro
Никогда не работало ;)
Dmytro
Не может работать просто
Sazanof
Хм, верю, но как-то подозрительно тогда))))
Sazanof
Понял - понял))
Dmytro
Sazanof
DG
Подскажите плиз, есть на сайте Тренеры хочу поместить их 1 раз в массив (id и pagetitle) чтобы потом в расписании искать в массиве по ID а не создавать дополнительный запрос в БД, Как правильно вытащить из site_content чтобы было array(id = > pagetitle) если использовать так: $sq = $modx->db->select("id,pagetitle", $tb, "parent=13"); $members = $modx->db->makeArray($sq); То массив получается многомерным P.S. Сильно ругайтесь если простое решение есть, только учусь!
DG
А как правильно прогнать по foreach, пробывал так: foreach($array as $key => $row){ $col .= array($row['id'] => $row['pagetitle']); } а на выходе получается так ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
DG
Спасибо, сейчас попробую!
DG
Получилось, спасибо большое!
DG
)))
Sazanof
не за что
Andrey
<?php $pageArray = []; $sq = $modx->db->select("id,pagetitle", $modx->getFullTableName('site_content')); if($modx->db->getRecordCount($sq)) { while( $row = $modx->db->getRow($sq) ) { $pageArray[$row['id']] = $row['pagetitle']; } }
Andrey
Оу. Долго думал)
Dmytro
А зачем while?
Dmytro
MakeArray да и все
Andrey
А вот такую не видел. Что-то с апи?
Dmytro
http://docs.evo.im/develop/dbapi/makearray.html
Andrey
Ну какой-то цикл так и так запускать.
Andrey
Хотя удобно, да.
Михаил
Так получается два прохода. С while только один
Andrey
И там и там один. $sq = $modx->db->select("id,pagetitle", $modx->getFullTableName('site_content')); if($modx->db->getRecordCount($sq)) { $members = $modx->db->makeArray($sq); foreach($members as $one){ $pageArray[$one['id']] = $one['pagetitle']; } }
Dmytro
да только с makeArray получаем кода меньше 🙂 на пару строк а значит читабельней )
Dmytro
и меньше шансов допустить опечатку
Dmytro
но так в целом пофиг 🙂
Dmytro
ибо код практичеси идентичен
Dmytro
тут вопрос в каком виде нужен масив )
Dmytro
если самый простой то макеАррей если что то еще делать надо то тогда через while
Dmytro
if($modx->db->getRecordCount($sq)) { не надо проверку доп
Dmytro
просто 0 тут равно False
Dmytro
так как запрос то и может вернуть или 0 или 1+
Andrey
А как 0>0 может быть?)
Sazanof
А как 0>0 может быть?)
я хз ну типа возвращает кол-во, вот мы некое кол-во ои проверяем, если это кол-во больше нуля, то ок я всегда так думал_)
Andrey
Эмм. Я просто не дописал оператор походу, мы про одно и то же говорим) Но да, оба варианта норм
Dmytro
Вообще по работе с базой хорошо посмотреть все доступное Апи)
Dmytro
http://docs.evo.im/develop/dbapi.html
Dmytro
его не так много )
Sazanof
гуманитарий, что тут сказать))