Алексей Суслов

Алексей Суслов

С нами с 21 июля 2016; Место в рейтинге пользователей: #320
Дима Касаткин
13 ноября 2023, 16:55
1
+3
Пользуясь случаем, если у кого есть под рукой, кроме супер плагина из топика, какие ещё плагины надо поставить в VSC для удобной работы с MODX.

Необходимый минимум функций вот такой:
• Автозагрузки на сервер (SFTP) по CTRL+S (желательно без хранения учетных данных от удаленного сервера в JSON-файле рядом с исходниками)
• Перехода к объявлению JS/PHP-функций по CTRL+click
• Сборки CSS из LESS/SCSS исходников, но без бандлеров (как file watchers в phpstorm) и мудреных JSON-конфигов.

Просто года два назад такой простой набор не получилось собрать для VSCode и мне пришлось его опустить. Но я вижу, что всё меняется, и с тех пор VSC стал настолько лучше, что я рискнул заменить им (и пока не пожалел) notepad++ для открытия одиночных файлов (которые вне проектов), которым пользовался много лет (правда зарешал дизайн, а не функционал, но всё таки). Но как проектным редактором, мне осадочек от предыдущего подхода пока не наёт пользоваться.

Посоветуйте джентельменский набор модыксера (или модэксера?) для VSC плиз!
Сергей
Сергей
01 сентября 2017, 00:14
9
0
Тщательно пережевав это modx.pro/help/7693/#comment-53831, решил свой вопрос — Как вывести два фото к каждому товару на странице категории:
в шаблоне категории вызываю список товаров так:
[[!pdoPage?
	&element=`msProducts`
	&loadModels=`gallery`
	&leftJoin=`{
		"360x270": {"class":"msProductFile","alias":"360x270", "on": "360x270.product_id = msProduct.id AND 360x270.path LIKE '%/360x270/' AND 360x270.rank=0"}
		,"360x270x1": {"class":"msProductFile","alias":"360x270x1", "on": "360x270x1.product_id = msProduct.id AND 360x270x1.path LIKE '%/360x270/' AND 360x270x1.rank=1"}
	}`
	&select=`{
		"msProduct":"*"
		,"360x270":"360x270.url as 360x270"
		,"360x270x1":"360x270x1.url as 360x270x1"
	}`
]]
и в чанке tpl.msProducts.row.php вывожу ДВА фото товара так:
<img src="[[+360x270:default=`[[++assets_url]]components/minishop2/img/web/ms2_small.png`]]">
<img src="[[+360x270x1:default=`[[++assets_url]]components/minishop2/img/web/ms2_small.png`]]">
Количество запросов снизилось вдвое, время загрузки страницы упало в полтора раза.
Извините, если кому наступил на мозоль, разжевав досконально, я знаю, что тут это не приветствуется...)))
Павел Гвоздь
24 августа 2017, 19:11
4
0
Так а чего там решать, все просто до ужаса:
if ($modx->event->name == 'OnDocFormSave' && $mode == 'new' && is_object($resource) && $resource->get('class_key') == 'msProduct') {
    $resource->set('alias', ($resource->get('alias') . '-' . $id));
    $resource->save();
}
Павел Гвоздь
27 января 2016, 10:30
5
0
1) Создаёшь файл core/components/minishop2/custom/order/myorderhandler.class.php с содержимым:
<?php
class myOrderHandler extends msOrderHandler
{
	public function submit($data = array())
	{
		$min_price_order = $this->modx->getOption('ms2_minimum_price_order');
		$cart_status = $this->ms2->cart->status();
		$currency = $this->modx->lexicon('ms2_frontend_currency');
		if( $cart_status['total_cost'] < $min_price_order )
		{
			return $this->error( 'ms2_order_err_total_price', array(), array('price'=>$min_price_order, 'currency'=>$currency) );
		}
		return parent::submit($data);
	}
}

2) Создаёшь настройку (желательно в namespace «minishop2») ms2_minimum_price_order со значением суммы заказа, например: 50000.

3) В настройке ms2_order_handler_class указываешь только что созданный класс обработчик, вот так: myOrderHandler.

Вроде всё…
Evgeny Epifanov
23 сентября 2014, 22:05
8
+1
Чанк tpl.msEmail.new.manager
[[+address.receiver]] — Покупатель
[[+address.phone]] — Телефон
[[+user.email]] — Почта
[[+address.index]] — Индекс
[[+address.region]] — Область
[[+address.city]] — Город
[[+address.street]] — Улица
[[+address.building]] — Дом
[[+address.room]] — Квартира
[[+delivery.name]] — Способ доставки
[[+payment.name]] — Тип оплаты
[[+address.comment]] — Комментрарий

Это то, что я знаю. А вообще где-то это уже обсуждалось.