Виталий Валерьевич

Виталий Валерьевич

С нами с 23 декабря 2012; Место в рейтинге пользователей: #333

Навигация по автометкам

Хочу поделиться своим способом работы с метками, для дополнительной навигации по ресурсам. Вообще то, для этого уже есть tagLister, но мне нравится контролировать процесс. И вообще, это мой первый пост тут, так что сильно не пинайте :)



Для создания, собственно меток, логично использовать штатный tv параметр с типом autotag (автометка), поэтому вначале, создаю его и как нибудь называю. Не задумываясь особенно, назвал его по названию типа — autotag. Добавляю созданный tv в шаблон для вывода постов и с ним — все.
Саша Туманов
16 апреля 2015, 18:58
modx.pro
28
6 728
+10

Убрать часть Url

Приветствую! На сайте использую minishop2. Чтобы не засорять дерево ресурсов, создал категорию товаров Shop, в ней подкатегории товаров. Страница Shop не нужна, и не нужно, чтобы она была в url. Как от нее избавиться? Юзал компонент CustomUrls, работает, но при выводе, к примеру, меню, в url соответственно shop присутствует.
Спасибо
Андрей
20 марта 2015, 17:13
modx.pro
6
9 193
+1

Выбрать ресурсы созданные за последние сутки

Кто нибудь сталкивался с такой задачей?
Вот так работает:
&where=`{"createdon:>":[[!now]]}`
Где now
return time() - 86400;
Вася
02 марта 2015, 17:24
modx.pro
3
1 026
0

Чистим сайт от старых пакетов

При обновлении какого-нибудь компонента, MODX загружает новый пакет в папку /core/packages и добавляет запись в таблицу modx_transport_packages. Со временем в папке /core/packages накапливается приличное количество пакетов компонентов разных версий. И глядя на это разнообразие хочется избавиться от старых версий. И самое просто решение — удалить из папки не нужное. Решение простое, но неправильное. Так как в таблице остаются ссылки на эти пакеты и MODX их помнит. И иногда может и поругаться, что не нашел какой-то пакет. Чтобы не нарушать гармонии, лучше удалять их через специальный интерфейс.
Сергей Шлоков
24 февраля 2015, 12:13
modx.pro
13
3 171
+8

Вывод новостей начинающиеся с букв/цифр и т.п

Пример:
site.ru/catalog/А
site.ru/catalog/Б
site.ru/catalog/В
Spam
19 февраля 2015, 11:27
modx.pro
10
2 220
+4

Динамическая кнопка Купить / В корзине

Появилась необходимость реализовать динамическую кнопку Купить / В корзине.

Может кому-то пригодится.

Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.

Чанк Купить tplOut:
<button type="submit" class="btn btn-cart btn-primary" name="ms2_action" value="cart/add">
	Купить
</button>
<button type="submit" class="btn btn-checkout btn-success hidden" name="ms2_action" value="cart/add">
	В корзине
</button>

Чанк В корзине tplIn:
<button type="submit" class="btn btn-checkout btn-success" name="ms2_action" value="cart/add">
    В корзине
</button>

Скрипт (требуется подключенный jQuery)
if (typeof(miniShop2) != 'undefined') {
    // кнопки В корзину/Оформить
    miniShop2.Callbacks.Cart.add.response.success = function(response) {
        miniShop2.Order.getcost();
        miniShop2.sendData.$form.find('.btn-cart').addClass('hidden');
        miniShop2.sendData.$form.find('.btn-checkout').removeClass('hidden');
    };
    miniShop2.Callbacks.Cart.remove.response.success = function() {
        miniShop2.sendData.$form.find('.btn-cart').removeClass('hidden');
        miniShop2.sendData.$form.find('.btn-checkout').addClass('hidden');
    };
}

Сниппет myButton:
<?php
// Параметры
$idd = $modx->getOption('idd', $scriptProperties, $modx->resource->id);
$tplIn = $modx->getOption('tplIn', $scriptProperties, 'tplIn'); //Можно писать так: ('tplIn', $scriptProperties,  '@INLINE Товар в корзине, кол-во – [[+count]], цена = [[+price]].');
$tplOut = $modx->getOption('tplOut', $scriptProperties, 'tplOut'); // '@INLINE Товара нет в корзине.'
// Классы для работы
$pdo = $modx->getService('pdoTools');
$miniShop2 = $modx->getService('minishop2');
$miniShop2->initialize($modx->context->key, $scriptProperties);
$cart = $miniShop2->cart->get();
// Поехали
$found = false;
foreach($cart as $product) {
	if ($product['id'] == $idd) {
		$found = $product;
		break;
	}
}
return $found
	? $pdo->getChunk($tplIn, $found)
	: $pdo->getChunk($tplOut);


Кнопка вызывается таким образом:
[[!myButton? &idd=`[[+id]]`]]
Klike
17 февраля 2015, 13:36
modx.pro
40
5 591
+2

РЕШЕНО! Уникальность поля артикул

Всем привет!
Люди подскажите, как сделать проверку на уникальность поля артикул при создании товара в minishop2. Что бы не давало сохранить и уведомляло что такое значение уже есть!

Я так понимаю нужно сделать плагин, не разу не делал — подскажите как.
Финансовое спасибо пришлю!
Алексей Марченко
05 февраля 2015, 11:47
modx.pro
4
1 674
+1

Бесплатная доставка если сумма total больше чем ..

Всем привет, подскажите, как можно сделать так чтобы доп. стоимость товара не засчитывалась, в случае если общая стоимость больше чем 15 000?
То если если человек набирает товаров больше чем на 15 к, то доставка бесплатная.
Николай Загумённов
04 февраля 2015, 05:03
modx.pro
5
1 539
+1

Вывод наименьшей цены из списка товаров в категори

Здравствуйте.

Уже вхожу в тотальный затуп, но так и не получается реализовать в minishop2 вышеозвученную задачу.

Максим Кузнецов
24 января 2015, 23:16
modx.pro
7
3 784
0

Сниппет Declension для склонения слов

Предлагаю вашему вниманию небольшой сниппет для вывода склонения. Работает как фильтр вывода, использовать нужно примерно так:
[[+balls]] [[+balls:declension=`балл,балла,баллов`]]

Как видите, он применяется к любым тегам с числами, а в options нужно указать три формы слова (1 яблоко, 2 яблока и 10 яблок) для русского, или 2 (1 ticket, 2 tickets) для английского.

Для экспериментов можно повызывать сниппет с произвольными числами:
15 [[*id:input=`15`:declension=`яблоко,яблока,яблок`]]
Полный код под катом.
Василий Наумкин
22 января 2015, 06:44
modx.pro
28
7 355
+15