Андрей

Андрей

С нами с 28 февраля 2013; Место в рейтинге пользователей: #147
28 января 2017, 18:26
0
Во всплывающем окне, к кнопке «В корзину» поробуйте добавить атрибут type=«submit»

<button class="addInCard" name="ms2_action" value="cart/add" type="submit">
    <i class="fa fa-cart-plus" aria-hidden="true"></i> В корзину
</button>
26 января 2017, 13:21
1
+1
//Сниппет getRes
if ($resources) {
  $output = '';
  $resources = explode(',', $resources);

  foreach($resources as $id) {
    if ($resource = $modx->getObject('modResource', $id)) {
      $output .= $modx->getChunk($tpl, $resource->toArray());
    }
  }
  
  return $output;
}

//Вызов
[[getRes?
  &resources=`1,2,1,3,4,5,1,2,4,5,1,5`
  &tpl=`имя_чанка`
]]

//чанк
<div>[[+pagetitle]]</div>
26 января 2017, 12:59
0
По мне так лучше по клику на цвет, делать ajax вызов сниппета который будет возвращать нужные изображения по тегам или еще каким-то параметрам.
23 января 2017, 19:45
0
Так чанк не отработает если условие не выполнится

[[$[[*introtext:!empty=`chunk`]]]]
23 января 2017, 14:41
+1
Можно посмотреть здесь какие переменные есть.

Что бы получить значение любого поля или TV у ресурса, можно делать так
{1 | resource : 'pagetitle'}
22 января 2017, 15:23
+1
У минишопа есть callback при добавлении в корзину:

miniShop2.Callbacks.Cart.add.response.success = function(response) {
	// тут можно вызвать окно с предложением
};
18 января 2017, 19:06
0
if (!$delimeter) {
    $delimeter = '#';
}

if (!$part) {
    $part = 0;
}

$output = explode($delimeter, $input);

print $output[$part];
18 января 2017, 18:51
+1
Можно и вложения к письмам добавить, там пару строк всего.
18 января 2017, 18:41
0
Ой, да, какую-то ерунду написал в конце, замените последнюю строку в сниппете на это

$output = explode($delimeter, $input);

return $output[$part];
18 января 2017, 17:19
0
Можно записывать в значение название и значение c разделителем, а при выводе парсить.

// в TV
название1==название1#id1||название2==название2#id2

// Сниппет getTVValue
if (!delimeter) {
    $delimeter = '#';
}

if (!$part) {
    $part = 0;
}

return explode($delimeter, $input[$part]);

// Вызов сниппета
[[getTVValue?
    &input=`[[ваш_tv]]`
    &delimeter=`#`
    &part=`0`
]]
12 января 2017, 18:00
+1
Простейший сниппет, выведет вам все удаленные продукты. Можете вызвать как на странице в шаблоне, так и в виджете.

$products = $modx->getIterator('msProduct', array(
  'deleted' => 1
));

$output = '';

foreach($products as $product) {
  $output .= '<div><a href="/manager/index.php?a=resource/update&id='.$product->get('id').'">'.$product->get('pagetitle').'</a></div>'
}

print $output;
12 января 2017, 13:34
0
[[ваш_tv:имя_сниппета]]

Во втором примере нет return $output;, может из-за этого?
12 января 2017, 11:45
1
+2
Через процессор можно добавлять изображения

$data = [
    'id' => 'id продукта',
    'file' => 'путь к файлу',
];

$response = $modx->runProcessor('gallery/upload', $data, [
    'processors_path' => MODX_CORE_PATH . 'components/minishop2/processors/mgr/',
]);
11 января 2017, 11:14
+1
У меня возвращало всегда пусто когда не указываешь контекст. Т.е. пример из документации 100% рабочий, возможно вы что-то напутали с id и глубиной.

Возможно стоит указать параметры published, deleted, hidemenu.
07 января 2017, 15:57
+1
Так можно еще
&where=`{"video:!=":NULL}
06 января 2017, 20:28
0
Гугл подсказывает, что надо проверить настройки в файле core/config/config.inc.php
04 января 2017, 14:45
0
Посмотрите логи на сервере.
31 декабря 2016, 16:19
0
Хук — это обычный сниппет, который принимает значения из формы. Вот тут можно почитать как сделать самому.

Т.е. вам нужно найти смс-оператора и посмотреть как через его api отправлять смс, обычно это всего пару строк кода. Отправку смс оформить в хук, и указать его в вызове formit.
30 декабря 2016, 13:50
+1
Если используется fenom, то можно так
{set $snippetParams = [
	'param_1' => 'param_value' // и т.д. все параметры вызова сниппета
]}

{set $tvname = $.post['tvname']}

{if $tvname?}
	{$snippetParams['where'] = '{"tvname":"'~$tvname~'"}'}
{/if}

{$_modx->runSnippet('snippetName', $snippetParams)}

Если fenom не используется, то можно создать сниппет обертку и в нем уже проверять есть ли в POST tvname или нет, принцип тот же

Сам сниппет
$snippetParams = $scriptProperties;

if (!empty($_POST['tvname'])) {
	$snippetParams['where'] = '{"tvname":"'.$_POST['tvname'].'"}';
}

return $modx->runSnippet($element, $snippetParams);

Вызывать на странице так
[[!имя_созданного_сниппета?
	&element=`имя_вызываемого_сниппета` //tickets или что-то другое
	&param_1=`param_value` // и т.д. все параметры вызова сниппета без where
]]
30 декабря 2016, 13:33
+1
Можно просто хук для формы написать.