Купчинский Михаил

Купчинский Михаил

С нами с 19 января 2013; Место в рейтинге пользователей: #897

Установка MODX в подпапку сайта

Всем доброго времени суток!
Собственно такой вопрос, понадобилось установить MODX в подпапку сайта. Типа domain.ru/public_html/folder. С фронтом разобрался, запустил прописав в .htaccess переадресацию, а вот с админкой никак, не подключаются скрипты и css. Может подскажет кто?
Заранее спасибо.
Если что вот тут
Евгений
20 ноября 2015, 14:19
modx.pro
1
6 228
0

Сортировка на сайте

Добрый день!

Подскажите как можно реализовать сортировку на сайте.

Поля: по названию, площади, популярности(установил hitspage)

По всем полям нужна сортировка только по убыванию/возрастанию

Пробывал через tagmanager ничего не вышло.

Возможно можно сделать через Mfilter?

Спасибо!
Алексей
19 ноября 2015, 12:32
modx.pro
8
214 892
0

Расширение любых таблиц MODX

В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.

Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.

Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Василий Наумкин
16 ноября 2015, 07:07
modx.pro
117
11 665
+11

pdoResources where по дате

Привет, помогите пожалуйста составить выборку ресурсов.

Нужно отфильтровать ресурсы по дате, которая передаётся в GET.
Пример адреса site.ru/page?date=2015-11-10
Павел
12 ноября 2015, 07:32
modx.pro
3
6 257
0

mFilter2 и Характеристики

Здравствуйте!
приобрел сегодня крутой компонент mFilter2

Но загвоздка с характеристиками.

вызов
[[!mFilter2?
		&limit=`12`
		&element=`msProducts`
		&filters=`
			ms|price:number
			,parent:categories
			,ms|vendor:vendors
			,msoption|obem_resivera
		`
		&includeTVs=`raiting`
		&class=`msProduct`
		&tpls=`product_item`
		&tplOuter=`tpl.mFilter2.outer.ttok`
		&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
		&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
	]]
Константин Ильин
03 ноября 2015, 17:58
modx.pro
1
3 934
0

Похожие товары

Добрый вечер!

В данный момент радуюсь прекрасному minishop2, делая на нем магазин. Встал вопрос о похожих товарах: как реализовать их вывод? Может есть те, кому не жалко поделиться кодом? Или может хотя бы подскажете, куда копать?

Спасибо большое!
Oneman
31 октября 2015, 14:09
modx.pro
1
3 497
0

Вывод в зависимости от содержимого плейсхолдера

Добрый день!
Подскажите, пожалуйста, как выводить информацию в зависимости от содержимого плейсхолдера?
В данный момент информация выводится таким образом:

[[!+availability:gt=`0`:then=`<div class="available">[[+availability]]</div>`:else=``]]
Если в miniShop2 характеристика [[+availability]] не заполнена, то ничего не выводится, если выбрано какое-либо значение, то выводится
<div class="available">[[+availability]]</div>

Опция [[+availability]] имеет 2 значения «Есть в наличии» и «Под заказ». Подскажите, какая должна быть конструкция, чтобы при выборе значения «Есть в наличии» выводился div с классом class=«available», а при выборе значения «Под заказ» class=«not_available»?

Решение:

[[!+availability:gt=`0`:then=`[[!+availability:is=`Под заказ`:then=`<div class="not_available">[[+availability]]</div>`:else=`<div class="available">[[+availability]]</div>`]]`:else=``]]
Victor
30 октября 2015, 11:21
modx.pro
2
1 693
0

MS2: доп. поле товара (плагин) типа «checkbox»

Друзья, всем привет!

Уже несколько часов не могу найти ответа на простой, казалось бы, вопрос. Нужно добавить товару кастомное поле типа checkbox, в нашем случае оно имеет имя «outofstock». Все делаю по инструкции (текстовые поля добавлял неоднократно). Поле добавилось и работает на странице товара. Но если добавить это поле в грид категории и пытаться его отредактировать из грида, получается следующее:
  • Отображается как 1/0, т.е. цифра (соответственно, checked/unchecked), а не как чекбокс;
  • Если редактировать — появляется checkbox, можно поставить галку (он в момент редактирования пустой вне зависимости от имеющегося значения);
  • После сохранения (перехода на другой товар) — сохраняется значение true или false, вот именно словами (в зависимости от того, была поставлена в чекбокс галка или нет);
  • Если затем перезагрузить страницу, то все значения обратно становятся 0 или 1 (но при этом измененные значения сохраняются, т.е. если я на предыдущем шаге галку ставил, то показывает 1, а если нет, то 0).
Т.е. значение сохраняется по смыслу верно, проблема только с отображением. А хотелсь бы, чтобы было по аналогии с дефолтовыми галками «new», «favorite» и т.д.

Вот так выглядит плагин:

Павел Ширяев
27 октября 2015, 23:56
modx.pro
4
3 063
0

mFilter2 - фильтрация категорий по дочерним товарам

Публикую решение довольно распространённой задачи. Нужно фильтровать товары, но выводить не их, а их категории. Таким образом получается фильтр категорий, но по свойствам их дочерних товаров.

Первым делом нужно разобраться в логике работы mFilter2:
  1. Фильтр использует для поиска и вывода ресурсов один сниппет, указанный в &elements. В случае работы с товарами там обычно указывается msProducts.
  2. К этому сниппету будет 2 обращения: предварительная выборка и возврат подходящих id товаров, а затем их вывод пользователю.
  3. Различить эти два запроса можно по присылаемому параметру returnIds.
В получение id товаров нам вмешиваться не нужно, потому что фильтр должен построить из них фильтры. Нам нужно изменить только вывод этих товаров, заменив их на категории.
Василий Наумкин
11 октября 2015, 07:25
modx.pro
23
5 337
+4

Не работает пересчет цен в корзине

В зависимости от общего количества товара в корзине плагин устанавливает скидку на каждый товар: от 1 до 5 — 0%, от 5 до 10 — 0%, от 10 и выше — 20%.
Код плагина:
switch ($modx->event->name) {
	case 'msOnAddToCart': case 'msOnChangeInCart':
	$tmp = $cart->get();
$price=	$tmp[$key]['price'];
$tmpm = $cart->status();
$total_count = $tmpm['total_count'];
if ($total_count >= 10) {
	$price=$price*0.8;
} elseif ($total_count >= 5) {
	$price=$price*0.9;
} else {
	$price=$price;
}
$tmp[$key]['price']=$price;
	$cart->set($tmp);	
	break;
}
Беда в том, что цена пересчитывается не у всех товаров в корзине, а только у последнего добавленного/измененного, а для того что бы у остальных она поменялась, надо у каждого оставшегося изменить кол-во. Никак не могу понять, как после увеличения/уменьшения total_count, пересчитывать цены у каждого товара в корзине автоматом.
Артем
11 октября 2015, 07:03
modx.pro
5
2 558
+1