SEQUEL.ONE

SEQUEL.ONE

С нами с 16 июня 2015; Место в рейтинге пользователей: #85
but1head
01 июля 2016, 12:20
1
+2
Вынесу css который вставляется в фрейм, и который грузится на фронтэнд в настройки
but1head
01 июля 2016, 12:07
1
+5
Так сделайте на битриксе
Володя
30 мая 2016, 22:06
2
+2
<?php
switch ($modx->event->name) {
	case 'vpOnResourceAfterCreate':

	$fastrouter = $modx->getOption('fastrouter', $_REQUEST, array());
	$resource->set('description', 'трали вали, тоси боси');

	break; 
}
Павел Карелин
14 января 2016, 14:08
1
+3
Да думаю однокласники войдут в бетку.
Fi1osof
08 января 2016, 18:28
1
+3
Загружать и сохранять после D&D — это правильно. А вот base64 — увольте. Я еще понимаю на выходе кодировать base64 при генерации страницы (для мобильников это приятно), но в контенте хранить в 64 неее.
Fi1osof
07 января 2016, 11:57
20
+12
Если ключ не хотите светить, то однозначно запрос надо слать с вашего сервера на донора. В MODX есть готовый CURL-клиент. Вот код для примера:
$client = $modx->getService('rest.modRestCurlClient');
$result = $client->request('https://ya.ru', '/', 'POST', $params = array('foo'  => 'foo'));
print $result;
Можете с этим кодом к консоли поиграться.
Сергей Шлоков
18 октября 2015, 14:38
1
+1
Мега крутотень! То, о чем я писал много раз, свершилось. Стало удобно и лучше официального репозитория.
Единственный вопрос — нельзя ли прикрутить редактор к полю описания?
Максим Кузнецов
16 октября 2015, 11:29
3
+3
Задача решается путем реализации 2х составляющих:

1. Js (идентификатор и алерт заменить на подходящие себе):
$( ".ms2_form input[name='count']" ).change(function() {
	$.jGrowl("Минимальное количество товаров для заказа - 5 шт", {theme: 'error', position: 'center'});
	$(this).val("5");
});

2. Плагин на события msOnBeforeAddToCart и msOnBeforeChangeInCart
<?php
if ($modx->event->name = 'msOnBeforeAddToCart' || $modx->event->name = 'msOnBeforeChangeInCart') {
	$values = & $modx->event->returnedValues;
	if ($values['count'] < 5) {
		$values['count'] = 5;
	}
}
— как-то так.
Воеводский Михаил
12 октября 2015, 17:16
1
+2
$cartArray = $cart->get(); // Массик товаров в корзине
$cartProduct =	$cartArray[$key]; // Один товар в корзине
Ты получаешь сначала весь массив корзины, затем обращаешься только к одному ее элементу, который определен ключом $key — тот элемент, с которым производится действие (добавление, изменение) в данный момент. Но задача — обработать все элементы. Соответственно, необходимо пройти по всему массиву и обработать его:

foreach($cartArray as $cartProduct) { // Запускаем цикл прохода по всем товарам в корзине
	$price = $cartProduct['price']; // Один элемент корзины
}
Следующий важный момент: изменять необходимо оригинальную цену, а не ту, которая в корзине. Пример: один раз изменили цену при достижении 5 шт., пользователь погулял по сайту, в корзине стало 20 шт. — если при втором изменении мы возьмем за основу цену, которая записана в корзине, скидка получится чрезмерной.

Если 2 варианта решения:
1) В options товара в корзине записывать оригинальную цену при добавлении
2) Каждый раз получать оригинальную цену из объекта товара

Второй вариант рациональнее.

switch ($modx->event->name) {
	case 'msOnAddToCart': case 'msOnChangeInCart':

		$cartArray = $cart->get();
		$cartStatus = $cart->status();
		$totalCount = $cartStatus['total_count'];

		if ($totalCount < 5) $coeff = 1;
		elseif ($totalCount < 10) $coeff = 0.8;
		elseif ($totalCount < 20) $coeff = 0.7;
		else $coeff = 0.6;

		foreach ($cartArray as &$cartProduct) {
			if ($product = $modx->getObject('msProduct', $cartProduct['id'])) {
				$cartProduct['price'] = $product->price * $coeff;
			}
		}
		
		$cart->set($cartArray);
		break;

}
SEQUEL.ONE
06 сентября 2015, 04:39
1
0
У меня уже чанк подключён tpl.RAPCORPNET.meta со всеми моими настройками, он от главной страницы данные берёт для всех ресурсов. По поводу pdoResources, если ставлю его, то у меня перестают работать TV-параметры.