[pdoTools] Версия 2.2 c модификаторами Fenom
Представляю вам новую версию pdoTools 2.2.0-pl, в которой вы можете задавать свои модификаторы для использования в Fenom.
Для этого придумана системная настройка pdotools_fenom_modifiers, в которой вы можете указать нужные сниппеты через запятую.
То, что указано в этой настройке, будет доступно глобально, для всех вызовов pdoTools. Также у вас есть возможность указать конкретные модификаторы для определённого вызова сниппета:
Вы также можете указывать свои параметры для модификаторов:
Все указанные сниппеты должны соответствовать требованиям фильтров MODX.
Второе изменение, это возможность указать порядок присоединения таблиц через &joinSequence. По умолчанию это
Выражаю большое спасибо гражданину Alexey Ch за эти изменения. Новая версия pdoTools уже в репозитории, можно обновляться.
Для этого придумана системная настройка pdotools_fenom_modifiers, в которой вы можете указать нужные сниппеты через запятую.
То, что указано в этой настройке, будет доступно глобально, для всех вызовов pdoTools. Также у вас есть возможность указать конкретные модификаторы для определённого вызова сниппета:
[[!pdoResources?
&parents=`0`
&fenomModifiers=`dateAgo`
&tpl=`@INLINE <p>{$id} - {$pagetitle} {$createdon | dateago}</p>`
]]Как можно заметить, модификаторы указываются через |.Вы также можете указывать свои параметры для модификаторов:
[[!pdoResources?
&parents=`0`
&tpl=`@INLINE <p>{$id} - {$pagetitle} {$createdon | date_format:"%Y-%m-%d %H:%M:%S"}</p>`
]]В данном примере используется встроенный в Fenom модификатор date_format. Вы можете использовать и другие.Все указанные сниппеты должны соответствовать требованиям фильтров MODX.
Второе изменение, это возможность указать порядок присоединения таблиц через &joinSequence. По умолчанию это
&joinSequence=`innerJoin,leftJoin,rightJoin`но теперь вы можете указать и свой порядок.Выражаю большое спасибо гражданину Alexey Ch за эти изменения. Новая версия pdoTools уже в репозитории, можно обновляться.
Комментарии: 39
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Большое спасибо! еще было бы классно добавлять тэги, но это немного позже.
вместо
Если это нужно, их всегда можно вызвать через runSnippet и так уже указать.
В чанке [[+pagetitle]] заменяется на {$pagetitle}, [[+createdon:dateago]] на {$createdon | dateago}.
А как заменить [[*pagetitle]]?
Вот так работает {$_modx->resource.pagetitle}, а вот так уже выдаёт ошибку {$_modx->resource.createdon | dateago}. Что не правильно делаю?
Там ведь сказано, что есть системная настройка pdotools_fenom_modifiers, в которой нужно указать все сниппеты-модификаторы, которые должны быть доступны глобально.
Пользуясь случаем, хотел бы спросить тебя, насколько трудоёмко внести новый параметр в pdoPage,
такой как реверс пагинации? Описан здесь
И исходя из такой проблемы, которая описана здесь?
Заранее спасибо за ответ.
Речь о том, чтобы расклад страниц был по возможности статичен, т.е. 1-ая сформированная страница, так и оставалась под номером 1, а каждая последующая (по мере роста контента выдачи) имела номер (и соответственно адрес), приращеённый на единицу. Таким образом обычно у нас пагинация выглядит 1 2 3 4 5, а предполагается 5 4 3 2 1. По логике 5-ая страница появилась самой последней, но она впереди, так как это самый свежий контент на данный момент.
Вот попытался. Что скажешь?
Сейчас читаю комментарии на vc.ru и там нет «вау, как круто, давайте так делать везде». Скорее даже наоборот.
Во всяком случае для себя, как пользователю всевозможных лент (новостей, статей), хотелось бы знать, где остановился в прошлый раз, чтобы не искать по дате. Запомнил номер страницы и всё, она не изменилась, конечно если не поменяли количество вывода на странице.
А какие там аргументы против?
И сколько стоит такая реализация? Может после Нового года решусь?
Если этот способ навигации наберёт популярность, то рано или поздно добавлю сам, бесплатно.
Ну, что же может сами начнём менять вкусы, а? Станем новаторами :)
С наступающим, Новым годом тебя!
По моим прикидкам, это где-то середина 2016.
Идею я, вроде бы, понял. Но не уверен, что она приживётся и будет понятна людям. А времени делать «чтобы было» сейчас нет.
Поэтому, отложим пока эту мысль в сторонку и понаблюдаем за спросом.
Если, например, выставить сортировку от самых старых к самым новым, старые всегда будут на первой странице. Разве нет?
Типа зашел сегодня и увидел страницу 5, зашел завтра — уже 6. И с неё стартуешь, отматывая к 1. Если остановился на 3, то там и продолжишь потом читать, ничего не изменится, просто добавятся страницы 7 и 8 через пару дней.
В теории, вроде бы, всё хорошо. Однако неясно, почему так никто не делает.
Я сейчас закрываю для индексации страницы с 2...n, контент на них все время меняется, пользователь приходит из поиска, а информации уже нет, она на другой странице, получите-распишитесь отказ. Много отказов, значит пользователи не нашли нужной информации у вас и в следующий раз поисковик не покажет ваш сайт.
Не часто, но бывает, сам попадаю в туже ситуацию, что либо ищешь попадаешь из поисковика на страницу где ответа уже нет.
добавил в вызове модификатор rezimgcrop, указал ему соответствующие параметры:
но не обрезает картинку (т.е. вообще не выводит с модификатором), ошибка: (ERROR @ /home/s1161/www/core/cache/includes/elements/modsnippet/34.include.cache.php: 29) PHP warning: copy(): The first argument to copy() function cannot be a directory
modsnippet/34 — снипет rezimgcrop
Неправильно указываю параметры?
Может, в $_modx->resource.video_image что-то не то?
Я думал, rezimgcrop же создает папку, куда кидает обрезанные картинки, может не может создать?
работает, а любые вариации на тему
нет. Что я делаю не так? Если я правильно понимаю, то встроенные модификаторы в настройку прописывать не нужно (если прописать все равно не работает).
Нужно написать свои модификаторы с mb_strtoupper() и mb_strtolower(), указать их в pdotools_fenom_modifiers и использовать в чанках — всё будет ок.
Все переменные выводятся пустые. Версия pdoTools последняя. Все разрешения включены. Проблема только с INLINE чанком. Если указать обычный чанк с таким же содержимым, то всё работает.
есть модель
Как сделать так чтобы в чанках допустим pdoResource или pdoMenu, поле translations выводилось как плейсхолдер?
пробовал
Работает, но при этом подключается content, хотелось бы узнать решение чтобы к выборке добавлялось только поле translations
Так делать как бы не очень выход, потому что мало ли в чанке используются другие поля, я то понимаю, что если надо в select дописать, а вот другой может не понять.
есть ли какое либо изящное решение?
Почему при использование prepareSnippet в pdoMenu, не обрабатывает первую запись??
joxi.ru/Vm65XJLTxOw59r
Пробовал такое в pdoResources, там все ок
joxi.ru/Dr8WkgZIkxQ3vA
код сниппета