Андрей
С нами с 09 апреля 2015; Место в рейтинге пользователей: #68Вывод сгруппированных опций товара
[cronQueue] Очереди задач
Выполнение разнообразных задач кроном.
Зачем?
Есть у меня один проект, с автопереводом отзывов на несколько языков.
Русский, Английский, Китайский, Арабский и Немецкий, это один сайт на 5ти доменах, на каждом домене можно оставить отзыв и он переводится на остальные языки ну и отображается после этого на всех языках.
Изначально перевод осуществлялся в момент сохранения отзыва, с одним языком было не заметно, с двумя долго, с пятью — жесть. Поэтому решил все это дело повесить на крон, да и добавилось других задач: перевести ресурсы, перевести сео и контент на языки, пересчитать баллы за отзывы и тд.
Зачем?
Есть у меня один проект, с автопереводом отзывов на несколько языков.
Русский, Английский, Китайский, Арабский и Немецкий, это один сайт на 5ти доменах, на каждом домене можно оставить отзыв и он переводится на остальные языки ну и отображается после этого на всех языках.
Изначально перевод осуществлялся в момент сохранения отзыва, с одним языком было не заметно, с двумя долго, с пятью — жесть. Поэтому решил все это дело повесить на крон, да и добавилось других задач: перевести ресурсы, перевести сео и контент на языки, пересчитать баллы за отзывы и тд.
Регистрационные данные на почту клиента, miniShop2
Появилась задача: после заказа клиентом товаров в интернет-магазине, реализованном на miniShop2, высылать регистрационные данные (логин/пароль) на указанную почту клиента. Из коробки почему то такого функционала нет, хотя регистрация проходит. Получается так, что пользователь после оформления заказа даже и не подозревает что только что зарегистрировался на сайте. Как-то это не правильно. Собственно отсюда и появилась такая задача.
Плагин для цитирования отдельных текстов в Tickets
Каждый, наверное, видел на современных форумах есть возможность цитирования отдельно взятого текста путём выделения его. Т.е выделяем текст на странице топика или в комментарии пользователя, появляется тултип с предложением процитировать выделенное — жмём и выделенный текст уже в редакторе обрамлённый тегами blockquote. Этот плагин как-раз это и умеет
Обратились ко мне ребята с такой просьбой, в следствии чего и появился этот плагин. Код не выкладываю, ниже будет ссылка где его можно скачать и попробовать в работе. Расскажу только вкратце что он делает.
Обратились ко мне ребята с такой просьбой, в следствии чего и появился этот плагин. Код не выкладываю, ниже будет ссылка где его можно скачать и попробовать в работе. Расскажу только вкратце что он делает.
Загрузка заказов ms2, Tikets на стартовой странице
При сравнении «специализированных» cms для интернет магазинов и minishop заметил общую тенденцию у первых выводить при входе в админку список заказов. После недолгой переписки с замечательным исполнителем Павлом Гвоздем возникло такое замечательное и гениальное по простоте решение:
заходим в настройки системы, далее в фильтре по ключу отыскиваем 2 значения:
1. welcome_action меняем с welcome на mgr/orders
2. welcome_namespace с core на minishop2
и вуаля на чистом клиенте отображается список заказов, очень удобно
заходим в настройки системы, далее в фильтре по ключу отыскиваем 2 значения:
1. welcome_action меняем с welcome на mgr/orders
2. welcome_namespace с core на minishop2
и вуаля на чистом клиенте отображается список заказов, очень удобно
Добавление своих полей в форму заказа [обновлено]
При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Короткие ссылки средствами modx
Запрос на помощь вылился в готовый результат.
Пример основной задачи — реализация сайта с кириллическим именем домена, и ссылками так же на кириллице. Типа: сайт.рф/каталог/ресурс
Выглядит красиво, доступно, запоминается, и говорят — полезно для СЕО. Но появилась проблемка, связанная с тем, что при попытке поделиться урлом, порой выводится неудобноваримая ссылка из кучи непонятных символов. Что нибудь типа такого:
Пример основной задачи — реализация сайта с кириллическим именем домена, и ссылками так же на кириллице. Типа: сайт.рф/каталог/ресурс
Выглядит красиво, доступно, запоминается, и говорят — полезно для СЕО. Но появилась проблемка, связанная с тем, что при попытке поделиться урлом, порой выводится неудобноваримая ссылка из кучи непонятных символов. Что нибудь типа такого:
Как прикрепить изображение к комментарию?
Как загрузить изображение на сервер и прикрепить его к комментарию в Tickets?
Написал плагин загрузки фотки и обрезки её с помощью встроенного в MODX phpThumb (спасибо Василию за готовый код, который я только кастомизировал под мои нужды).
Перенёс в категорию "Пошаговые инструкции", т.к. вопрос превратился в конкретную инструкцию.
Запишу эту инструкцию для себя будущего, может и кому-нибудь ещё понадобится…
[ExtJS] Расширяем компонент Collections
Часто ли вам приходится расширять какие-то стандартные штуки в MODX или в компонентах для него? Мне вот часто! Поэтому, давно хотелось поделиться чем-нибудь интересным на этот счёт, что я собственно и сделал в статье Дополнительные поля профиля юзера, где описал, как можно расширить профиль юзера, чтобы всё выглядело натурально. На этот раз расскажу, как можно расширять компонент Collections, не прибегая к крайним мерам, вроде правки исходников приложения.
Как вывести мультикатегории
Доброго дня, вывожу все ссылки мультикатегории товара вот этим сниппетом:
<?php
if (empty($id)) {$id = $modx->resource->id;}
if (empty($tpl)) {$tpl = '@INLINE <a href="[[~[[+id]]]]">[[+menutitle]]</a>
';}
$pdo = $modx->getService('pdoFetch');
$conditions = array('product_id' => $id);
$options = array(
'innerJoin' => array(
'msCategory' => array('on' => 'msCategoryMember.category_id = msCategory.id')
),
'select' => array('msCategory' => 'all'),
'sortby' => 'msCategory.id'
);
$rows = $pdo->getCollection('msCategoryMember', $conditions, $options);
$output = '';
foreach ($rows as $row) {
$output .= $pdo->getChunk($tpl, $row);
}
return $output;
Как можно вывести ссылки не на все мультикатегории, а только с определенным шаблоном? И возможно ли это вообще сделать?