Tanya
С нами с 07 октября 2015; Место в рейтинге пользователей: #455AjaxForm: не отправляет письма
Добрый день. Документацию читала, Formit письма отправляет, AjaxForm ошибок не выдает — пишет что сообщение отправлено, но писем нет. Домен русскоязычный — хотя вряд ли это влияет.
Вот вызов:
Вот вызов:
[[!AjaxForm?
&snippet=`FormIt`
&form=`test`
&emailTpl=`email.tpl`
&emailSubject=`Новогодняя ночь`
&emailTo=`site@site.ru`
&validate=`name:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
Чанк mytpl.AjaxForm<form action="" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
<input type="text" id="af_name" name="name" value="[[+fi.name]]" placeholder="Имя" required class="span4" />
<span class="error_name">[[+fi.error.name]]</span>
<input type="phone" id="af_phone" name="phone" value="[[+fi.email]]" placeholder="Телефон" required class="span4" />
<span class="error_phone">[[+fi.error.phone]]</span>
<button type="submit" class="btn btn-inverse">[[%af_submit]]</button>
[[+fi.success:is=`1`:then=`
<div class="alert alert-success">[[+fi.successMessage]]</div>
`]]
[[+fi.validation_error:is=`1`:then=`
<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
`]]
</form>
email.tpl тоже имеется. FormIt отправить value2
Здравствуйте.
Как отправить в FormIt не стандартный value, а value2?
Имеется:
Как отправить в FormIt не стандартный value, а value2?
Имеется:
<div class="form-group">
<label class="col-lg-4">Количество</label>
<div class="col-lg-4">
<input type="text" class="form-control input-sm" name="kolvo" data-cell="A2" data-format="0,0.00" value="300" value2="[[!+fi.kolvo]]">
</div>
</div>
Спасибо. pdoFetch поиск в TV-полях с разделителем ||
Наверняка много кто использовал в своей практике TV-поля типа «Список» (множественный, одиночный, не важно) или «Тег». Здесь важно именно то, в каком виде в базе данных хранятся данные таких полей, ведь они сохраняют множественные значения. А хранят они их одной общей строкой в той же самой таблице ТВшек (естественно, по одной записи на один документ). К примеру, если мы отметили три значения 100, 1005, 10, в БД это запишется 100||1005||10. И здесь возникает вопрос как потом выполнить поиск по таким полям? Простой LIKE здесь не поможет, так как LIKE %100%, к примеру, найдет и '100||1000' и '1001||1005'. Данного вопроса мы уже касались здесь и подобный вопрос опять возник здесь.
Упрощаем работу с TV
Продолжая тему, начатую Василием, предлагаю решение для упрощения работы с TV. Оно поможет тем, у кого логика сайта завязана на TV — запросы, фильтры и т.п.
Решается эта задача созданием полей в таблице ресурсов и копированием в них значений TV.
Решается эта задача созданием полей в таблице ресурсов и копированием в них значений TV.
Сниппет подключения JS, CSS
Здравствуйте. Может быть у кого-нибудь сниппет, который поключает скрипты и стили? Простите за наглость, конечно, но я дизайнер и верстальщик, а не кодер, логика не та, такая вот отмазка. Хочется универсальный сниппет, который бы мог подключить сколько угодно, куда угодно скрипты и стили.
Представляю вызов таким:
Представляю вызов таким:
[[includeCSS_JS_HTML?
&startJS=`путь\1.js, путь\2.js, путь\3.js`
&bottomJS=`путь\4.js, путь\5.js, путь\6.js`
&styleCSS=`путь\1.css, путь\2.css, путь\3.css`
&startHTML=`<javascript>блаблакод-1</javascript>`
&bottomHTML=`<javascript>блаблакод-2</javascript>`]]
Как я нашел в документации, всё подключается такими конструкциями:$modx->regClientCSS('custom.css');
$modx->regClientStartupScript('site.js');
$modx->regClientScript('site.js');
$modx->regClientStartupHTMLBlock('<script type="text/javascript">блаблакод</script>');
$modx->regClientHTMLBlock('<script type="text/javascript">блаблакод</script>');
Думаю сниппет пригодился бы многим. Я хочу его использовать в определенных местах, чтобы не трогать шаблон. Футер и хедер у всех страниц одинаковый, а скрипты и стили для разных страниц нужны разные. Content Editor Tools
Я решил немного облегчить себе жизнь и сделал 2 плагина (на самом деле 3) для работы с контентом из админки. Этот набор плагинов я назвал Content Editor Tools, чтоб не путать их с похожими имеющимися.
Первое, это Rich Text Editor. Тут на выбор: TinyMCE или CKEditor. Второе: AssetsTV — это для работы с файлами. Пока всё в статусе беты.
Первое, это Rich Text Editor. Тут на выбор: TinyMCE или CKEditor. Второе: AssetsTV — это для работы с файлами. Пока всё в статусе беты.
Добавление модификаторов Fenom
Задался вопросом добавления своих модификатором в парсер Fenom для modx.
Из этого вышел простой модификатор |days, который правильно склоняет «дней», «дня», «день».
вызывать так:
Из этого вышел простой модификатор |days, который правильно склоняет «дней», «дня», «день».
вызывать так:
{$dayscount|days}
ExtJs для новичков. Админка загрузилась. ч.2
В первой части познакомились с методом Ext.getCmp() для работы с компонентами ExtJs. Он позволяет взаимодействовать с виджетами ExtJs — панелями, таблицами, формами, окнами, запрашивать и обрабатывать данные с сервера и т.д. Но иногда требуется просто поработать с обычными HTML элементами. А для этого метод Ext.getCmp() совсем не подходит. Можно, конечно, пользоваться обычным javascript. Но уж очень хочется иметь такой же удобный инструмент как jQuery. И ExtJs предоставляет нам такой функционал. Для работы с элементами DOM у него есть несколько методов.
ExtJs для новичков. Админка загрузилась. ч.1
В прошлой статье мы попытались понять как формируется интерфейс админки на ExtJs. Теперь давайте попробуем разобраться, что можно сделать интерфейсом, который нам нарисовал ExtJs.
В ExtJs за каждым элементом интерфейса (панель, окно, таблица, кнопка, элемент формы) стоит специальный объект, называемый компонентом. Он отвечает за управление элементом интерфейса — создание, отображение, скрытие, удаление. В админке MODX все элементы «являются» компонентами ExtJs, за исключением верхнего меню. Разницу можно увидеть, если заглянуть в исходный код страницы — у меню простая и привычная HTML структура (ul > li > a), а если глянем на элемент, созданный ExtJs, то увидим, что он обернут дополнительными тегами. Например, вот код кнопки тулбара дерева ресурсов
В ExtJs за каждым элементом интерфейса (панель, окно, таблица, кнопка, элемент формы) стоит специальный объект, называемый компонентом. Он отвечает за управление элементом интерфейса — создание, отображение, скрытие, удаление. В админке MODX все элементы «являются» компонентами ExtJs, за исключением верхнего меню. Разницу можно увидеть, если заглянуть в исходный код страницы — у меню простая и привычная HTML структура (ul > li > a), а если глянем на элемент, созданный ExtJs, то увидим, что он обернут дополнительными тегами. Например, вот код кнопки тулбара дерева ресурсов
<span unselectable="on" class="x-btn x-btn-small x-btn-icon-small-left tree-new-static-resource x-btn-noicon" id="ext-comp-1062" style="">
<em class="">
<button type="button" id="ext-gen139" class=" x-btn-text" style=""> </button>
</em>
</span>
Принцип загрузки админки на ExtJs. Для новичков
В этой статье хочу немного развеять тучи над механизмом работы админки, логика которой основана на ExtJs. Для людей, далеких от php и javascript, это будет набором непонятных слов. А вот те, кого уже не пугают такие термины как ООП, наследование, конструкторы, поймут о чем я тут буду говорить. Это не курс. Я просто попытаюсь систематизировать информацию для понимания общего принципа работы админки.
В сети достаточно много различной информации об ExtJs. Есть отличный курс Василия, по которому многие из нас учились делать свои дополнения. В нем он разбирает тему создания различных ExtJs объектов. Я не буду повторять, то что у него уже разобрано, а постараюсь на простом языке сделать короткую выжимку. Начнем.
В сети достаточно много различной информации об ExtJs. Есть отличный курс Василия, по которому многие из нас учились делать свои дополнения. В нем он разбирает тему создания различных ExtJs объектов. Я не буду повторять, то что у него уже разобрано, а постараюсь на простом языке сделать короткую выжимку. Начнем.