Dmytro
В Админке вот так:
https://take.ms/2gPzF
Pathologic
веббер скажет, что оно на сниппете
Pathologic
https://github.com/staudenmeir/laravel-adjacency-list
Dmytro
Суть 2.0 и Blade не в том что б не использовать сниппеты 🙂 а в том что б удобней работать было )
Dmytro
Хотя тут в меню еще есть проблема что юзаем json который собираем разбираем
Pathologic
ну, это проблема общая для доклистера
Pathologic
а в твоем случае большей проблемой является кэш
Dmytro
кеш ?
Pathologic
да
Dmytro
вообще не проблема ща 🙂
Dmytro
добавлю сюда еще и кеш )
Pathologic
что не проблема это понятно, но там при кэшировании учитываются еще всякие мелочи
Saniock
http://evo.jp/
Saniock
почти похоже на лого
Dmytro
что не проблема это понятно, но там при кэшировании учитываются еще всякие мелочи
добавляем в контролле:
use Cache;
и дальше правим код:
private function menu($parents){
$cacheid = 'menu'.$this->modx->documentIdentifier;
$menu = Cache::remember($cacheid, 24 * 60, function () use ($parents) {
$docs = $this->modx->runSnippet('DLMenu',['parents'=>$parents, 'api'=>'1']);
return json_decode($docs);
});
$this->modx->addDataToView(['menu'=>$menu['0']]);
}
Итого у нас кешируется на сутки с учетом DocId тоесть на каждую страничку отдельно
Замечу что можно сделать что б кешировалось как в MODX тоесть до сброса кеша, можно на всегда, можно с учетом системы тегов и т д
Dmytro
В примере я сделал кеш с учетом docid + на 24 часа
Pathologic
ну, это решение в лоб
Dmytro
это решение дает гибкость в построении кеша которой никогда не было в MODX
Dmytro
ибо в MODX решение в лоб:
- кешируем все на базе [[]] или не кешируем [!!]
Больше опций не было
я уже добавил кешируем с учетом GET
Dmytro
а тут кешируй как хочешь 🙂
Dmytro
Но понятно что пока это все еще не обкатали и не вывели в удобное решение по проще
Dmytro
но как видим что Меню что Кеш не есть проблемой и решается
Pathologic
это у тебя не было гибкости в построении кэша (:
Pathologic
так-то библиотеки для кэширования подключали еще во времена дитто
Dmytro
Да были у меня я писал пару решений 🙂 для кеша )
Dmytro
что б было удобно
Pathologic
я видел 😸
Dmytro
и кешировать части кода на весь сайт а не только на страничку )
Dmytro
Но проблема таких решений была в том что оно все делалось кто как хочет
Dmytro
тот же кешАкселератор где черт ногу сломит
Pathologic
кешАкселератор это вроде не о том совсем, но там да, муть какая-то
Pathologic
готовое решение это евотвиг
Pathologic
там кэшируй что хочешь
Pathologic
для 2.0 я почти написал переходник
Dmytro
Зацепил тебя Твиг 🙂
Dmytro
я пробовал но мне чет Blade больше понравился будем теперь тянуть и то и то 🙂
Pathologic
да дело не в твиге, просто ты задачи решаешь, которые решены уже
Dmytro
Сморти исходя из логики что шаблон == FE а контроллер == BE
я считаю что кеширование и получение данных задача Бекендера а Фронтендер отвечает только за визуалку он не должен учавствовать в логике
Dmytro
поэтому кеш в контроллере для меня логичней чем кеш в шаблоне
Dmytro
собственно такой же подход в Laravel и Blade
Pathologic
кэш в шаблоне это фишка твига, при этом сторонняя
Dmytro
Ну вот я считаю что данная фишка вносит смуту только 🙂
Dmytro
а так вот берем читаем и пользуемся:
https://laravel.com/docs/5.8/cache
Dmytro
Но опять же никто не мешает делать несколько решений как сейчас и происходит
Pathologic
ну, контроллеры-то внесли самую большую смуту
Anonymous
Dmytro
Ну это только потому что многие не понимают зачем они вообще надо и в чем их +
Dmytro
Постараюсь обьяснить донести показать на примере
Pathologic
потому что у них нет плюсов на данный момент
Anonymous
На самом деле там текст не очень внятный. Писал его под температурой и не вчитывался. Вот и вышли лозунги от которых у людей всё ещё горит
Dmytro
потому что у них нет плюсов на данный момент
Плюсы есть, как минимум очень многие CMS и Framework работают по такому принцыпу итого разобравшись в дружелюбной среде что это и как потом проще работать с другими системами
Pathologic
ну а сверхпопулярный вордпресс работает по принципу говнокода, так что ж теперь
Dmytro
Pathologic
мы пока не понятно на что вообще ориентируемся
Dmytro
Смотрим на подходы в Laravel и на них ориентируемся
Dmytro
так что б опыт работы с EVO мог пригодиться в работе с Laravel и наоборот 🙂
Pathologic
значит нужно объяснить людям, чем подходы ларавель для них лучше того, к чему они привыкли
Pathologic
пока что получается не очень
Anonymous
У меня есть идея взять и пересобрать демо сайт под этот подход и записать на видео. Но для этого нужно обкатать этот подход
Иван
Dmytro
Мы подход 2.0 обкатываем уже больше 6 месяцев и наконецто сейчас уже виднеется то к чему мы идем, ибо по началу результат был так себе ибо смесь парсера модх и Блейда показал себя не с очень красивой стороны, собственно так мы и пришли к контроллерам и сейчас становится понятным что это верный путь
Dmytro
Но обьяснить показать зачем это все, еще предстоит
Pathologic
это верный путь к отказу от ево на самом деле ((:
Dmytro
Где там Веббер? Меню не смотри
Aliaksandr
Меню туфта, я такое на плагине мог еще три года назад замутить:)
Dmytro
Pathologic
Dmytro
смысл выбрасывать то что работает хорошо и надежно ?
Aliaksandr
А не берем сниппет, который делает меню, потом это пеню пихаем в json, потом пару пассов руками и разбираем этот json опять в меню, которое еще три шага назад было готово:)
Aliaksandr
Тогда смысл выпускать статьи с таким неоднозначным контентом?:)
Dmytro
ну кодировать в json и разбирать из json это в процессе:
https://github.com/AgelxNash/DocLister/pull/351
Dmytro
Я понимаю что все хотят все и сразу и при этом ничего не делать 🙂
Dmytro
но так не бывает
Dmytro
Dmytro
Считаю что статья успешная на 100% что все так переживают.