Андрей

Андрей

С нами с 28 февраля 2013; Место в рейтинге пользователей: #140
Андрей
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
Можно просто хук для формы написать.
Андрей
29 декабря 2016, 22:59
0
Вот только что проверил, если подвигать или обновить превью, то ничего не меняется, а если удалить и загрузить картинку (возможно просто загрузить еще одну), то все норм, плейсхолдер появляется.
Андрей
29 декабря 2016, 22:51
0
Оно работает, только если удалить все фотки у товара и загрузить заново. Т.е. баг вроде исправили, только что теперь все товары редактировать что-ли.
Андрей
29 декабря 2016, 21:17
0
Ну да, но все же хочется что бы правильно работало.

Тут в последнем обновлении minishop2 есть пункт
— Fixed bug with incorrect rank of thumbnails after a sorting.

Наверное это решение проблемы, надо обновиться.
Андрей
29 декабря 2016, 21:02
1
+1
Тоже в Minishop2 столкнулся с такой проблемой, пока нет нормального решения сделал так

{set $path = '/assets/images/products/'~$id~'/120x90/'}
{set $preview = $_pls['thumb'] | replace : $path : ''}
<img src="/assets/images/products/{$id}/175x175/{$preview}" alt="" title=""/>