Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
15 декабря 2015, 19:30
+1
royaloakpub.by/beer/ — пустой раздел
pubgvozd.by/beer-map/ — все ссылки пива ведут на корень сайта (зато сам сайт на MODX Revo!)

Нормально без багов показывает пивную карту только gambrinus.by/beer — было бы логично пойти именно в него =)

Ну или в Гвоздь, и предложить им поправить ссылки в обмен на пиво.
Василий Наумкин
15 декабря 2015, 18:41
+1
Это не совсем ответ, это просто ссылка на мой компонент.

Там всё банально:
1. Хэшируем параметры вызова сниппета
2. Сохраняем их в сессию, используя хэш как ключ
3. Добавляем ключ в скрытый инпут формы, чтобы он отправлялся на сервер при каждом запросе
4. Соответственно, данные из сессии можно получить только для этого ключа
5. А без ключа и вовсе ничего не работает

Наверное, это можно назвать CSRF токеном, но лично я решал несколько иные задачи — независимую отправку разных форм с одной страницы через Ajax.
Василий Наумкин
15 декабря 2015, 11:52
1
+2
tplInner, как и tplOuter — это обёртка для блока меню. Там просто нет id, так же как нет и pagetitle и других данных ресурсов.

Если же там указать [[+id]], то туда попадёт левый id из-за рекурсивного парсера MODX. Так что, Fenom как раз работает правильно, не выводя то, чего нет.

Точно такой же вопрос в репозитории.
Василий Наумкин
15 декабря 2015, 08:28
+3
Думаю, да. Учитывая еще, что он пишет HTML прямо в PHP, перед нами программист из двухтысячных =)

Наверное, просто решает задачи, как привык, а нужные методы гуглит «как получить все ресурсы в MODX Revo», «Как получить ТВ у ресурса MODX».
Василий Наумкин
15 декабря 2015, 08:19
+3
Обычное дело — программист не знаком с MODX.

Бросать не стоит, лучше объяснить заказчику масштаб проблем и увеличить цену. Если не согласен — тогда можно и бросить.
Василий Наумкин
14 декабря 2015, 18:53
0
Другая ссылка — bezumkin.ru/modx/minishop2/snippets/917/

В &includeThumbs нужно указывать размеры подключаемых превьюшек, а не просто «1».
Василий Наумкин
14 декабря 2015, 12:27
+1
Зато в эту обёртку можно напихать еще с десяток разных условий и всё будет работать правильно и без тормозов.
Василий Наумкин
14 декабря 2015, 12:01
2
+3
Не нужно использовать сниппеты типа IF, гораздо лучше написать свой сниппет-обёртку, например MyMenu:
<?php
if ($modx->resource->id == 8) {
	$scriptProperties['parents'] = 8;
}

return $modx->runSnippet('pdoMenu', $scriptProperties);

И вызывать как
[[!MyMenu?
	&level=`3`
	&parents=`0`
	&resources=`0`
	&rowClass=`tab`
]]
На странице с id == 8 параметр &parents будет заменён.
Василий Наумкин
13 декабря 2015, 17:27
+3
На здоровье!
Василий Наумкин
13 декабря 2015, 08:42
0
Не FULLTEXT-поиск, очевидно.

Вот здесь анонс, с описанием некоторых отличий. В первой версии даже самого понятия «вес» и сортировки по нему не было.
Василий Наумкин
13 декабря 2015, 08:10
+7
Почему бы не сделать плагин на OnUserSave?

Тогда обработка кармы будет запускаться при любом сохранении modUser, хоть через интерфейс, хоть через API.
Василий Наумкин
13 декабря 2015, 06:57
+6
Обновил и Tickets и Jevix. С первым всё понятно — в дополнение к обработке обычных скобок добавились еще и фигурные.

А вот у Jevix теперь есть новый параметр escapeTags, выключенный по умолчанию.
[[*content:Jevix=`{"escapeTags":true}`]]
Как видно, сниппет заодно научился понимать JSON в $options.

Надеюсь, теперь все будут довольны.
Василий Наумкин
13 декабря 2015, 04:54
0
На работу полнотекстового поиска можно посмотреть в mSearch1.
Василий Наумкин
12 декабря 2015, 20:26
+5
А ведь есть еще и input:
[[!*id:input=`1`:userinfo=`phone`]]

*id здесь от балды, input можно применять к любому тегу.
Василий Наумкин
12 декабря 2015, 20:21
1
0
То есть, речь о том, что Jevix преобразовывает сущности в нормальные символы, чтобы потом повырезать всякую дрянь?

Ну, чтобы пользователь не смог тупо написать
&lt;script&gt;alert()&lt;/script&gt;
а иначе, все эти проверки обходились бы очень легко.

Может, ленивому разработчику лучше сначала отдавать документ Jevix, а потом уже экранировать всякое опасное, как это делает Tickets?

В общем, ты свою проблему решил, я Tickets обновлю завтра, а остальным разработчикам могу только посоветовать думать, что они делают.

И Jevix, и Fenom, и создание всякого с фронтенда — это всё не работает по умолчанию, нужно включить и использовать самостоятельно.
Василий Наумкин
12 декабря 2015, 20:14
0
Обрати внимание на звёздочки у комментариев и заметок — это то, что тебе нужно.
Василий Наумкин
12 декабря 2015, 17:57
0
Не знал, что ты такой нудный, жаль.

Скобочки в html entities не попадают. Это автор Jevix предусмотрел от всяких XSS, а не тегов MODX.

[], {} работают в Jevix без вопросов.
Василий Наумкин
12 декабря 2015, 17:47
+1
Только полностью отключив обработку тегов в теле страницы. Она и отключена, по умолчанию.

Могу убрать и системную настройку, но уверен, что будет очень много недовольных.