Александр Мельник
С нами с 02 сентября 2016; Место в рейтинге пользователей: #64Не могу получить значение placeholder. Тонкости работы парсера?
Уверен, вы мне подскажите, потому что я наверное один не понимаю всех этих тонкостей и нюансов работы различных парсеров и выставления плэйсхолдеров.
В чем проблема.
Есть шаблон, создан как статичный документ.
Вот на скрине его содержимое.
В нем вызывается сниппет (на скрине отображены сразу все варианты вызова, но конечно же я запускал их по одному)
в этом сниппете выставляется плэйсхолдер.
Смотрите скрин.
А ниже в шаблоне я пытаюсь значение получить (там тоже много вариантов написано, но я применял их по одному конечно)
Данные могу получить только через стандартный шаблонизатор, а очень хочется работать с этим плэйсхолдером через fenom, поскольку в коде будет много проверок, условий на наличие тех или иных настроек и хочется использовать ifы foreachи и прочие прелести фенома.
Есть идеи как получить плэйсхолдер в переменную fenom?
Спасибо.
В чем проблема.
Есть шаблон, создан как статичный документ.
Вот на скрине его содержимое.
В нем вызывается сниппет (на скрине отображены сразу все варианты вызова, но конечно же я запускал их по одному)
в этом сниппете выставляется плэйсхолдер.
Смотрите скрин.
А ниже в шаблоне я пытаюсь значение получить (там тоже много вариантов написано, но я применял их по одному конечно)
Данные могу получить только через стандартный шаблонизатор, а очень хочется работать с этим плэйсхолдером через fenom, поскольку в коде будет много проверок, условий на наличие тех или иных настроек и хочется использовать ifы foreachи и прочие прелести фенома.
Есть идеи как получить плэйсхолдер в переменную fenom?
Спасибо.
Кешируются ли файловые сниппеты?
Использую файловые элементы pdoTools, в документации написано что
Есть шаблон для ресурса, в нем
Файловые сниппеты не кэшируются, но можно включить кэширование скомпилированных шаблонов Fenom, используя настройку pdotools_fenom_cache.У меня она отключена.
Есть шаблон для ресурса, в нем
{include 'file:templates/category.tpl'}
Внутри category.tpl{extends 'file:templates/layout.tpl'}
{block 'page'}
{'@FILE filter/filteredProducts.php'|snippet}
{/block}
Внутри filteredProducts.phpecho "hello world";
В системных настройках отключил кеширование и снова у меня проблемы с фильтрацией чисел
Добрый вечер.
Вроде бы уже не раз набивал на этом месте шишки, но видимо не достаточно)
Есть сниппет msProducts.
У него есть параметр
Вызов сниппета, с попыткой отфильтровать товары у которых m2 > 600 ничего не выводит, поскольку сравнение значение происходит не как число, а как строка и 600 становится больше 1000.
modx.pro/help/22471
Тогда я решил задачу другим способом, но сейчас решил все -таки попробовать CAST и честно говоря совсем не получилось.
Вот у Ильи
ilyaut.ru/cheats/sorting-on-tv-number-for-pdoresources/
есть пример
Пробую у себя
Вроде бы уже не раз набивал на этом месте шишки, но видимо не достаточно)
Есть сниппет msProducts.
У него есть параметр
optionFilters Фильтры по опциям товаров. Передаются JSON строкой, например, {"optionkey:>":10}
Есть опция, называется m2, тип число, значение у товара = 1000Вызов сниппета, с попыткой отфильтровать товары у которых m2 > 600 ничего не выводит, поскольку сравнение значение происходит не как число, а как строка и 600 становится больше 1000.
$result = $modx->runSnippet('msProducts',[
'parents'=>0,
'optionFilters'=>'{"m2:>":600}',
'tpl'=>'@INLINE <p>[[+pagetitle]]</p>',
'showLog'=>1
]);
Часть SQL запроса в котором видно, что 600 передается как строка в кавычкахWHERE ( `msProduct`.`class_key` = 'msProduct' AND `Data`.`price` > '0' AND `m2`.`value` > '600' )
Я уже задавал подобный вопрос и мне любезно подсказали, что нужно смотреть в сторону sql метода CAST() для приведения строки к числу.modx.pro/help/22471
Тогда я решил задачу другим способом, но сейчас решил все -таки попробовать CAST и честно говоря совсем не получилось.
Вот у Ильи
ilyaut.ru/cheats/sorting-on-tv-number-for-pdoresources/
есть пример
{'pdoResources' | snippet : [
'tpl' => '@INLINE {$pagetitle} - {$price}',
'sortby' => '{"CAST(`TVprice`.`value` AS DECIMAL(13,3))":"ASC"}',
'includeTVs' => 'price'
]}
где в сортировке применяется CASTПробую у себя
про viber, whatsapp и прочее
Нужны мне советы от более молодых и продвинутых коллег.
В жизни я не пользуюсь всеми этими миллионами мессенджеров и отсутствие этого опыта мешает мне сейчас как разработчику. Поэтому, если есть время — просветите меня пожалуйста.
Опишу задачу.
Есть сайт. у него есть менеджеры. Каждый менеджер регистрируется на сайте, вписывает свой номер мобильного. Сайт генерирует разные текстовые сообщения сообщения, их нужно отправить в viber и whatsapp каждому менеджеру, зная только его номер телефона. Есть условие — использование api напрямую, минуя всякие промежуточные сервисы.
1) я правильно понимаю, что
В жизни я не пользуюсь всеми этими миллионами мессенджеров и отсутствие этого опыта мешает мне сейчас как разработчику. Поэтому, если есть время — просветите меня пожалуйста.
Опишу задачу.
Есть сайт. у него есть менеджеры. Каждый менеджер регистрируется на сайте, вписывает свой номер мобильного. Сайт генерирует разные текстовые сообщения сообщения, их нужно отправить в viber и whatsapp каждому менеджеру, зная только его номер телефона. Есть условие — использование api напрямую, минуя всякие промежуточные сервисы.
1) я правильно понимаю, что
google api для получения позиций в поисковой выдаче. Оно существует?
Господа и дамы, поделитесь пожалуйста, сталкивался ли кто то с возможностью получения позиции сайта по той или иной фразе в выдаче google?
Не через сторонние сервисы, а напрямую от google.
Буду благодарен за ссылку на информацию…
Не через сторонние сервисы, а напрямую от google.
Буду благодарен за ссылку на информацию…
Чем отличается переход по ссылке из письма от "скопировал, вставил, нажал enter"?
Хочу послушать мнение коллег.
Столкнулся с тем, что мое приложение ведет себя по разному, в зависимости от того, как перешли на страницу — из письма или просто вставив ссылку в браузер.
Немного подробностей.
Есть роут, который откликается на get запрос
Ссылка приходит пользователю в письме.
Все работает шикарно, если
Столкнулся с тем, что мое приложение ведет себя по разному, в зависимости от того, как перешли на страницу — из письма или просто вставив ссылку в браузер.
Немного подробностей.
Есть роут, который откликается на get запрос
$app->get('/c/{lang}/confirm/{hash}/',WelcomeController::class.":confirm");
При переходе на эту странице методом get происходит получение заключенного в ссылке хеша, получение пользователя и подтверждения его регистрации. Контроллер а вернее его метод, который обрабатывает этот роут имеет защиту, на случай если по хешу не удалось найти пользователя, выдает текст, что вы перешли по неверной ссылке.Ссылка приходит пользователю в письме.
Все работает шикарно, если
Как кешировать фильтры?
Сразу хочу отметить, что речь не идет конкретно о modx и msearch2, вопрос в целом — об идеях, реализациях, опыте коллег.
Что собственно смущает.
К примеру есть страница, на которой условные товары. Есть фильтр с набором характеристик, к примеру есть
Размер
— s
— m
— x
Цвет
— белый
— черный
— красный
Бренд
— 1
— 2
-3
Какие варианты работы фильтра я вижу:
1) Вариант без кеширования. Любое изменение фильтра вызывает запрос на сервер, который вернет данные, соответствующие фильтру.
2) Кеширование первым пользователем. Когда пользователь что то выбрал в фильтре, отправляется запрос, получаются данные, кешируются. Когда этот же иди другой пользователь накликает в фильтре такую же комбинацию, данные будут отданы из кеша.
3) Полное предварительное кеширование. Кеш всех комбинаций фильтра готовиться заранее и даже первый клиент получает уже ответ из кеша.
Какие проблемы и недопонимания эти варианты вызывают:
1) С первым все более менее понятно. Будет работать, но если количество характеристик постоянно растет (на некоторых проектах у меня менеджеры вывели в фильтр уже 170 типов характеристик и у каждого типа не менее 10 значений) то «тормоза» неизбежны, как ты не оптимизируй и не используй индексы в базе.
2) Второй вариант лично мне кажется бесперспективным. Хотя по моему именно так кешируются большинство фильтров.
Что собственно смущает.
К примеру есть страница, на которой условные товары. Есть фильтр с набором характеристик, к примеру есть
Размер
— s
— m
— x
Цвет
— белый
— черный
— красный
Бренд
— 1
— 2
-3
Какие варианты работы фильтра я вижу:
1) Вариант без кеширования. Любое изменение фильтра вызывает запрос на сервер, который вернет данные, соответствующие фильтру.
2) Кеширование первым пользователем. Когда пользователь что то выбрал в фильтре, отправляется запрос, получаются данные, кешируются. Когда этот же иди другой пользователь накликает в фильтре такую же комбинацию, данные будут отданы из кеша.
3) Полное предварительное кеширование. Кеш всех комбинаций фильтра готовиться заранее и даже первый клиент получает уже ответ из кеша.
Какие проблемы и недопонимания эти варианты вызывают:
1) С первым все более менее понятно. Будет работать, но если количество характеристик постоянно растет (на некоторых проектах у меня менеджеры вывели в фильтр уже 170 типов характеристик и у каждого типа не менее 10 значений) то «тормоза» неизбежны, как ты не оптимизируй и не используй индексы в базе.
2) Второй вариант лично мне кажется бесперспективным. Хотя по моему именно так кешируются большинство фильтров.
непроходимая reCaptchaV3
Понимаю, что дело не в компоненте, а во мне, но тем не менее.
Вчера закончил разработку нового сайта, через минуту после его переноса на production мне на почту начал валить спам. Самым первым шагом я (как и всегда) пошел устанавливать компонент reCaptchaV3.
Установил (ключи гугла получил, в формы вызов сниппета добавил, в ajaxform хук rcv3 прописал, у каждой формы задал свой уникальный rcv3Action)
И все. Ни одну форму отправить не могу, всегда ошибка — вы не прошли каптчу.
Думал дело во мне (из Украины приходится работать через vpn и это часто приносит проблемы)
Попросил коллег в России проверить — нет. Никто вообще не может пройти каптчу.
Толи придумываю, толи раньше была в системных настройках
Вчера закончил разработку нового сайта, через минуту после его переноса на production мне на почту начал валить спам. Самым первым шагом я (как и всегда) пошел устанавливать компонент reCaptchaV3.
Установил (ключи гугла получил, в формы вызов сниппета добавил, в ajaxform хук rcv3 прописал, у каждой формы задал свой уникальный rcv3Action)
И все. Ни одну форму отправить не могу, всегда ошибка — вы не прошли каптчу.
Думал дело во мне (из Украины приходится работать через vpn и это часто приносит проблемы)
Попросил коллег в России проверить — нет. Никто вообще не может пройти каптчу.
Толи придумываю, толи раньше была в системных настройках
Кто и как борется со спамом?
Нужен совет.
Кто и как борется со спамом на email в modx при использовании ajaxform и formit?
Или даже без привязки к modx а просто, какие действенные способы борьбы вы знаете?
У меня много сайтов на modx и везде установлена recaptcha 3 версии и плюс проверка того, что скрытый input в форме остается пустым. Но спам все равно идет и не мало. За день с каждого сайта может приходить до 50 спам-писем. Заметил, что спам на сайтах становится сильнее, если наши СЕО специалисты начинаю продвигать проект, потом спадает, затем снова усиливается, и только на совсем забытых и заброшенных проектах он отсутствует совсем (как впрочем и обращения от людей).
Есть около 10 ка сайтов на битриксе — там тоже самое, никакие встроенные
Кто и как борется со спамом на email в modx при использовании ajaxform и formit?
Или даже без привязки к modx а просто, какие действенные способы борьбы вы знаете?
У меня много сайтов на modx и везде установлена recaptcha 3 версии и плюс проверка того, что скрытый input в форме остается пустым. Но спам все равно идет и не мало. За день с каждого сайта может приходить до 50 спам-писем. Заметил, что спам на сайтах становится сильнее, если наши СЕО специалисты начинаю продвигать проект, потом спадает, затем снова усиливается, и только на совсем забытых и заброшенных проектах он отсутствует совсем (как впрочем и обращения от людей).
Есть около 10 ка сайтов на битриксе — там тоже самое, никакие встроенные
AjaxForm изменен формат response?
При работе с ajaxform часто использую событие af_complete, на которое можно подписаться и например отправить инфу в яндекс метрику об успешной отправке формы или же просто закрыть модальное окно.
Элемент формы можно было получить так
Это временный глюк? Или так всегда и было и это меня глючит? Получается если я нажму обновить ajaxform на всех своих сайтах, у меня придет в нерабочее состояние отправка целей в метрику, закрытие модальных форм.
Элемент формы можно было получить так
const form = response.form
Сегодня обнаружил, что свойство form у response перестало указывать на конкретную форму, теперь это список форм, объект у которого есть нумерованные ключи и теперь нельзя получить форму таким же образом, нужно обращаться к нулевому индексу.Это временный глюк? Или так всегда и было и это меня глючит? Получается если я нажму обновить ajaxform на всех своих сайтах, у меня придет в нерабочее состояние отправка целей в метрику, закрытие модальных форм.