Bilbo Baggins
вот он хад
Сергей
ага есть такой баг
Сергей
substr_replace
можно свою mb_substr_replace накостылять или в сети найти)
Bilbo Baggins
нашел уже.
ща потестим
Юрий
Юрий
Юрий
Модуль, функционал как у redirectMap2 + функционал коротких ссылок. Написал на Webix. Аля Bitrix (удобно для постинга в соц. сети.)
Кому то интересно?
Dmytro
Интересно получилось выкладывай на модх им
Юрий
Только одна установка ра работающий сайт. Постить и допилить. Нет предела совершенству.
Юрий
@Dmi3yy сразу вопрос. Что делать с библиотеками Webix при установке. Уже есть несколько пакетов которые его используют
Dmytro
Ложить в папочку ассетс либ
Юрий
А если там уже лежит?
Dmytro
Так оно даже если перезапишет то не страшно
Юрий
Опять же распространять вместе с пакетом стороннюю библиотеку ни есть гуд.
Юрий
Страшно. Версии разные могут оказаться.
Юрий
Вторым встанет пакет с более старой версией.
Dmytro
Использую последний год еще ни разу при обновлении ничего не отвалилось
Dmytro
С так да надо переодически обновлять
Anton
Привет
Anton
В свое время делал вывод документов через DocLister
Там есть такой параметр &selectFields='c.*, IF(c.id=37 OR c.id=44,0,1) AS sortId'
Кто может пояснить содержание параметра?
Сори, помогали советом здесь. Ну а я забыл все (
Сергей
Anton
да
Сергей
&orderBy=`sortId ASC, menuindex ASC`
Anton
Значение c.* помнится где-то жестко прописано?
Сергей
это алиас таблицы, если запрос простой то можно его не ставить
Anton
Сейчас добавил в таблицу site_content столбец views и планирую добавить второй вариант сортировки - по views
Сергей
делайте по аналогии, не думайте
Anton
Не думать - не получается)
Сергей
&orderBy=`sortId ASC, views DESC, menuindex ASC`
Сергей
если думать над мелочами, они не дадут двигаться вперёд, и в конечном итоге они всё равно вылетят из головы, поскольку зная большее вы поймёте что это былла мелочь и мозг сам её забудет)
Anton
Когда потом встречаюсь с такой мелочью, то думаю "почему тогда с ней не разобрался?" )
Anton
В этом запросе c.*, IF(c.id=37 OR c.id=44,0,1) AS sortId
Возвращаем все поля таблицы через c.*?
А потом если нужный id , то возвращаем дополнительный заполненный столбец sortId?
Сергей
так потому что она не дала вам двигаться дальше, и вы на ней зациклились.. вы её увидели (мозг уже её забыл), и стали опять разбираться, как тогда..
надо чуть расширить знания читая книги, а не перехватывать из чата, и тогда имея более полные познания в этом, такие мелочи будут логически просичтываться либо интуитивно понятны.
Сергей
Anton
Это же просто язык SQL?
Сергей
да, который за вечер учится
Anton
Знаю чем займусь вечером теперь
Anton
И еще есть вопрос по prepare в DocLister:
как изменить то, что выводится в его параметр?
Anton
Смотрю документацию, но не понимаю пока https://github.com/evolution-cms/docs/blob/master/ru/03_%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B/DocLister/02_%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%BE%D0%BC.md
Anonymous
Anonymous
И там простой и понятный пример
Anton
Вот он перед глазами
Anonymous
Там есть и то как получить входящие данные и как вернуть изменённые
Anonymous
Ну и что непонятно?
Anonymous
Все данные приходят в $data
Anonymous
Возвращаем изменённый $data
Anton
А в дата хранятся не только параметры документа?
Anonymous
В дата попадают все данные которые должны передаться на выход.
Anonymous
Что бы проще разобраться, можно вот так сделать
print_r($data);
exit();
Anonymous
И тогда будет видно что там вообще приходит
Сергей
и чтобы визуально понятнее было
&debug=`2`
Anonymous
Ну с debug можно не делать print_r($data);
Он тогда в Просмотр - событий закинет абсолютно всё
Anonymous
Но всё же с print_r($data); будет проще понять в какую часть смотреть
Раньше Здесь Был Мат_
а если не работает print_r, то modx->logEvent или запись в файл c var_export($var,true)
Anton
создал сниппет для prepare
<?php
if ($_GET['test'] == 'true') {
echo '<pre>';
print_r($data);
echo '</pre>';
} else {
return $data;
}
?>Не сработало
Anonymous
Он сработает, но не отобразится, а что бы отобразился нужно exit(); добавить
Anton
$data в prepare - это же массив документов?
Сергей
Anton
Здесь мы работаем с документами
Раньше Здесь Был Мат_
с текущим документом
Anton
А как переопределить orderBy через prepare?
Раньше Здесь Был Мат_
Зачем?
Anton
Вообще для настраиваемой соритровки
Anton
Передать через параметр sort в url и в зависимости от него выводить данные для сортировки
Anton
в prepare смотреть значение этого параметра и в зависимости от него выводить нужные данные в orderBy
Anonymous
Я бы это сделал по другому. Я бы вызов этого сниппета загнал в другой сниппет, в котормо всё вызывал через $modx->runSnippet и там игрался бы с orderBy или sortB
Anonymous
prepare это обработка данных перед выводом
Anonymous
Но, вполне возможно, есть другой метод как это сортировать
Anton
Раньше Здесь Был Мат_
тут бы можификаторы пригодились, Из $_GET подставлять
Anonymous
О, вот с модификаторами я не знаком, это та вещь которую вечно то ломают, то чинят?
Раньше Здесь Был Мат_
Ага
Andrey
Ямофикаторы)
Volodymyr
Добрался до документации до eFilter
Volodymyr
https://github.com/dzhuryn/docs/tree/master/ru/03_%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B/eFilter
Volodymyr
жду коментариев и пожеланий пока не залил в основную и пока есть время доработать
Женечка
Volodymyr
ну по части язык думаю не стоит иначе буду на родном языке писать
Volodymyr
а нажаль українською документацію будуть мало читати
Volodymyr
жду комментариев кроме орфографических