Klike

Klike

С нами с 14 января 2015; Место в рейтинге пользователей: #48
Klike
16 апреля 2015, 08:45
0
Удалось подружить Tagger с Тикетами? Или может другое решение использования тегов в тикетах есть?
Klike
03 апреля 2015, 11:33
0
Как можно использовать Google reCAPTCHA(v2) несколько раз на странице?
Кто-нибудь может сталкивался?
Klike
17 марта 2015, 21:02
0
Спасибо, Александр! Написал, жду ответа, хотелось бы поскорее, заказчик ждёт. Спасибо ещё раз!
Klike
16 марта 2015, 07:45
0
надо смотреть тогда в файлах, какое имя передаётся пустым и в 1С исправить этот момент
Klike
16 марта 2015, 07:43
0
в этих файлах информация о синхронизации. Поля, которые можно импортировать. Вообще, по инструкции всё корректно настраивается и работает, может необходимо первый пункт включить? (об автоматическом создании tv)
Klike
16 марта 2015, 07:25
0
может надо тогда в 1С посмотреть? почему пустое имя файла передаётся, и вообще, нужно ли принимать данное поле на сайте?
Klike
13 марта 2015, 18:33
0
надо в 1с смотреть структуру, и включить «Использовать вложенные URL»
Klike
13 марта 2015, 18:31
0
Потому что с такой структурой:

  • Канцелярия 1
    • Ручки
      • Parker
      • Бренд 2

  • Канцелярия 2
    • Ручки
      • Parker 2
      • Бренд 3

И без включения «Использовать вложенные URL», к примеру, категории РУЧКИ начинают конфликтовать, потому как одинаковые алиасы создаются. В итоге все товары падают в корень сайта.
Klike
13 марта 2015, 18:28
0
нужны именные алиасы.
Klike
13 марта 2015, 18:27
0
Скорее всего конфликтуют alias, поэтому всё в корень падает. Видимо, уже есть ресурсы с темы alias, которые создаются при синхронизации
Klike
12 марта 2015, 22:32
0
а можете по подробнее? :)
Klike
05 марта 2015, 12:31
0
Можно ли использовать для оптовых цен на сайте? К примеру посетитель закинул в корзину товар по розничной и с определенного количества цены становятся оптовыми? Или не с количества, а с общей стоимости товаров в корзине?
Klike
28 февраля 2015, 13:14
0
Супер! Теперь отлично работает! И твой функционал классно можно использовать с количеством и ценой. Спасибо большое, Василий!
Можно ещё вопрос? :)

Искал решение по пересчету цен в корзине при стоимости свыше 10.000р., видел только по определенному количеству. В моём случае нужно писать сниппет и плагин на событие, и для динамического обновления (без обновления страницы) нужен скрипт. И в итоге вместо стандартного сниппета корзины вызывать свой. Я всё правильно понял?
Klike
28 февраля 2015, 12:37
0
<?php
// Параметры
$idd = $modx->getOption('idd', $scriptProperties, $modx->resource->id);
$tplIn1 = $modx->getOption('tplIn1', $scriptProperties, '@INLINE Товар в корзине, цена = [[+price]]'); 
$tplOut1 = $modx->getOption('tplOut1', $scriptProperties, '@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
	? $modx->getChunk($tplIn1, $found)
	: $modx->getChunk($tplOut1);
У меня предыдущий сниппет работает с tplIn и tplOut, поэтому в этом tplIn1 и tplOut1, в начале тоже добавил единицу к ним. Вообще, даже в буквах не выводит)
Klike
28 февраля 2015, 12:07
0
каюсь, пока не силён в php)

А так совсем ничего не выводит…
foreach($cart as $product) {
	if ($product['id'] == $idd) {
		$found = $product;
		break;
	}
}
return $found
	? $modx->getChunk($tplIn1, $found)
	: $modx->getChunk($tplOut1);
Klike
28 февраля 2015, 11:52
0
Вот твой пример, чуть подкорректирован, создал два чанка tplIn1 и tplOut1, товар в корзине, выводит, что товара нет (tplOut), что не так?
$found = false;
foreach($cart as $product) {
	if ($value['id'] == $idd) {
		$found = $product;
		break;
	}
}  //не было в твоём примере
return $found
	? $modx->getChunk('tplIn1', 'found') // здесь было ($tplIn, $found), ниже также
	: $modx->getChunk('tplOut1');
Klike
27 февраля 2015, 15:29
0
Наконец-то добился результата) Спасибо большое, Василий, за направление на путь истинный))
Чуть доработал код и вот результат:
<?php
// Параметры
$idd = $modx->getOption('idd', $scriptProperties, $modx->resource->id);
$tplIn = $modx->getOption('tplIn', $scriptProperties, '@INLINE Товар в корзине, цена = [[+price]]'); 
$tplOut = $modx->getOption('tplOut', $scriptProperties, '@INLINE Товара в корзине нет'); 
// Классы для работы
$pdo = $modx->getService('pdoTools');
$miniShop2 = $modx->getService('minishop2');
$miniShop2->initialize($modx->context->key, $scriptProperties);
$cart = $miniShop2->cart->get();
// Поехали
$found = false;
foreach($cart as $value) {
	if ($value['id'] == $idd) {
		$found = $value['id'];
		break;
	}
}
$found != false 
    ?   $result = $modx->getChunk('tplIn', 'found')
    :	$result = $modx->getChunk('tplOut');
return $result;
Теперь всё работает, как надо!
Klike
25 февраля 2015, 16:33
0
Спасибо, Василий за подсказки! Чем давать рыбу, лучше удочку))
<?php
$miniShop2 = $modx->getService('minishop2','miniShop2',
	MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
if (!($miniShop2 instanceof miniShop2)) return '';
$miniShop2->initialize($modx->context->key, $scriptProperties);

if (empty($idd)) {$idd = $modx->resource->id;}
$cart = $miniShop2->cart->get();
$kolvo = 0;
foreach($cart as $value)
	{if ($value['id'] == $idd)
		{$kolvo += $value['count'];}}
$modx->setPlaceholder('countP', $kolvo);

//вот этот кусок не знаю, нужен ли
$toPlaceholder = $modx->getOption('toPlaceholder',$scriptProperties,false);
if (!empty($toPlaceholder)) {
	$modx->setPlaceholder($toPlaceholder,$output);
	return '';
}
//конец "ненужного" куска
return $kolvo;
Сниппет таким образом:
[[!+countP? &idd=`[[+id:default=`[[*id]]`]]`]]
ID передаётся правильно (может лишнее, конечно, и в сниппете проверять на пустоту ID и в вызове сниппета), думаю ещё отправлять результат сниппета в плейсхолдер
[[!+countP? &idd=`[[+id:default=`[[*id]]`]]` &toPlaceholder=`countP`]]
и в кнопке условие сделать – если результат >0, то одна кнопка, если =0, вторая.

Но почему-то не всегда сниппет работает как нужно. Где что не так делаю?
Klike
24 февраля 2015, 15:50
0
И тут я застрял… Как же получить id непосредственно товара?