Виталий Валерьевич
С нами с 23 декабря 2012; Место в рейтинге пользователей: #333[AjaxForm] Версия 1.0.2-pl
В репозитории Simple Dream доступна новая версия компонента AjaxForm.
Список изменений:
Добавлен вызов jQuery события af_complete после отправки формы. Теперь вы можете что-то делать с ответом от сервера:
Список изменений:
Добавлен вызов jQuery события af_complete после отправки формы. Теперь вы можете что-то делать с ответом от сервера:
$(document).on('af_complete', function(event, response) {
console.log(event, response);
});
Использование modRegistry
В MODX есть очень хорошая штука для хранения временных данных — объекты modRegistry. В народе их еще называют регистры, видимо из-за исторических параллелей.
modRegistry очень удобно использовать, когда вам нужно сохранить временный пароль на полчаса, или разрешить пользователю выполнять операцию не чаще чем 1 раза в n минут.
Этот класс отлично документирован, но я хочу показать простой и понятный пример.
modRegistry очень удобно использовать, когда вам нужно сохранить временный пароль на полчаса, или разрешить пользователю выполнять операцию не чаще чем 1 раза в n минут.
Этот класс отлично документирован, но я хочу показать простой и понятный пример.
miniShop2 - скидка или наценка к сумме заказа
Добрый день!
Такой вопрос… нужно реализовать логику: наценка 5%, если в корзине 1 или 2 товара, скидка 2%, если в корзине 8 товаров или больше. Как это делать?
Пока идея: переопределить msCartHandler, в методе get реализовать мою логику:
… но… есть еще
… окей, и там можно реализовать эту логику. И еще немного надо будет поправить js файлы, хорошо… хотя уже что-то много правок намечается… я верно пытаюсь сделать? или нужно по другому реализовывать? Василий, как бы ты поступил? Общие мысли интересуют, реализовать — справлюсь :)
Естественно, мне нужно, что бы все заработало и в маленькой корзине в шапке сайта, и в большой корзине.
Такой вопрос… нужно реализовать логику: наценка 5%, если в корзине 1 или 2 товара, скидка 2%, если в корзине 8 товаров или больше. Как это делать?
Пока идея: переопределить msCartHandler, в методе get реализовать мою логику:
public function get() {
$cart['skidka'] = array('id' => 'skidka', 'price' => -100, 'weight' => 0, 'options' ),
return $this->cart;
}
… но… есть еще
public function status($data = array()) {
… окей, и там можно реализовать эту логику. И еще немного надо будет поправить js файлы, хорошо… хотя уже что-то много правок намечается… я верно пытаюсь сделать? или нужно по другому реализовывать? Василий, как бы ты поступил? Общие мысли интересуют, реализовать — справлюсь :)
Естественно, мне нужно, что бы все заработало и в маленькой корзине в шапке сайта, и в большой корзине.
Фильтрация по выпадающему списку для mFilter2
Может кому-то пригодится небольшое решение с подключением Bootstrap-select
Пример рабочего select с поиском без правки скрипта, благодаря label:
Пример рабочего select с поиском без правки скрипта, благодаря label:
Выборка pdoPage where по дате
Добрый день. В тикете можно указать дату мероприятия через бекенд, вот выборка, которая показывает сегодняшние мероприятия:
[[!pdoPage?
&element=`getTickets`
&includeTVs=`program-start`
&tpl=`program-list-ru`
&sortby=`program-start` &sortbyTV=`program-start` &sortdirTV=`ASC` &sortby=``
&where=`{«program-start:LIKE»:"%[[!today]]%"}`
]] — тут всё ок
Как сделать, чтобы была выборка по сегодняшним и предстоящим?
Пробовал:
[[!pdoPage?
&element=`getTickets`
&includeTVs=`program-start`
&tpl=`program-list-ru`
&sortby=`program-start` &sortbyTV=`program-start` &sortdirTV=`ASC` &sortby=``
&where=`({«program-start:LIKE»:"%[[!today]]%"}) AND ({«program-start RLIKE '[[:>:]]%[[!today]]%'»}) `
]]
[[!pdoPage?
&element=`getTickets`
&includeTVs=`program-start`
&tpl=`program-list-ru`
&sortby=`program-start` &sortbyTV=`program-start` &sortdirTV=`ASC` &sortby=``
&where=`{«program-start:LIKE»:"%[[!today]]%"}`
]] — тут всё ок
Как сделать, чтобы была выборка по сегодняшним и предстоящим?
Пробовал:
[[!pdoPage?
&element=`getTickets`
&includeTVs=`program-start`
&tpl=`program-list-ru`
&sortby=`program-start` &sortbyTV=`program-start` &sortdirTV=`ASC` &sortby=``
&where=`({«program-start:LIKE»:"%[[!today]]%"}) AND ({«program-start RLIKE '[[:>:]]%[[!today]]%'»}) `
]]
Расширенные поля пользователей
Небольшая пошаговая инструкция, как научиться сохранять любые интересующие данные о юзере в специальное поле extended.
На самом деле, это никакой не секрет. Во многих объектах MODX есть специальное поле типа JSON, которое хранится в БД как текст, например, properties у modResource и extended у modUserProfile.
При работе с объектами xPDO, JSON текст из этих полей превращается в массивы. То есть, общий принцип выглядит так:
На самом деле, это никакой не секрет. Во многих объектах MODX есть специальное поле типа JSON, которое хранится в БД как текст, например, properties у modResource и extended у modUserProfile.
При работе с объектами xPDO, JSON текст из этих полей превращается в массивы. То есть, общий принцип выглядит так:
// id нужного пользователя
$user_id = 15;
// Получаем объект modUser
if ($user = $modx->getObject('modUser', $user_id)) {
// Получаем связанный с ним профиль пользователя
if ($profile = $user->getOne('Profile')) {
// Получаем специальное поле extended
$extended = $profile->get('extended');
// Добавляем новое значение
$extended['mykey'] = 'mydata';
// И сохраняем обратно в профиль
$profile->set('extended', $extended);
$profile->save();
}
}
Самое приятное, что эти данные вы можете не только просмотреть на странице пользователя, но и изменить.Вывод суммы прописью
Специально по просьбе Wassi Wassinen достал из нафталина, отряхнул пыль и публикую свой класс вывода сумм прописью, который основан на вот этих методах.
В оригинальной версии копейки писались цифрами, а теперь — буквами. Ради этого пришлось переписать больше половины кода.
В оригинальной версии копейки писались цифрами, а теперь — буквами. Ради этого пришлось переписать больше половины кода.
красивые урлы для брендов в категориях
добрый день, появилось желание сделать красивые ссылки для брендов в разделах, т.е. сейчас все это выглядит так
хочется получить ссылки вида
кто-то уже решал подобную задачу?
site.ru/catalog/razdel/?ms|vendor=3
что не очень красиво и для пресловутого seo не айс)хочется получить ссылки вида
site.ru/catalog/razdel/brand/sony/
что позволит создавать странички разделов с товарами брендов типа «Ноутбуки sony», понятно что в идеале нужно еще и title причесать, но хотя бы разобраться с чпу и ссылками. кто-то уже решал подобную задачу?
Цена в рублях по курсу доллара в miniShop2
Как выводить в miniShop2 сумму товара в рублях, если цена указана в долларах? Есть плагин парсера курса валют.
Динамическая подгрузка контента страницы
Добрый день, Василий!
У меня есть страница, содержимое которой формируется с помощью сниппета msProducts
Можно ли это сделать с минимальным переписыванием (а лучше вообще без него) уже существующего кода?
У меня есть страница, содержимое которой формируется с помощью сниппета msProducts
[[!msProducts? &tpl=`tpl.Preview` &limit=`10` &sortby=`publishedon`]]
Можно ли не просто ограничить вывод дочерних документов (&limit=`10`), но и сделать так, чтобы каждый раз при скроллинге (или нажатии на кнопку) подгружались еще 10 дочерних документов?Можно ли это сделать с минимальным переписыванием (а лучше вообще без него) уже существующего кода?