Наумов Алексей

Наумов Алексей

С нами с 31 марта 2013; Место в рейтинге пользователей: #13
Наумов Алексей
15 февраля 2018, 10:36
1
0
// 1. Сначала получаем
$num_tv = $modx->resource->getTVValue('num_tv');
$text_tv = $modx->resource->getTVValue('text_tv');

// 2. меняем
$num_tv += 5;
$text_tv .= 'abc';
        
// 3. Устанавливаем TV
$modx->resource->setTVValue('num_tv', $num_tv);
$modx->resource->setTVValue('text_tv', $text_tv);

// 4. Сохраняем ресурс!!!
$modx->resource->save();

// 5. Выводим значения
echo '<p>-NUM_TV: '.$num_tv.'</p>';
echo '<p>-TEXT_TV: '.$text_tv.'</p>';
p.s. выводить из сниппета лучше через return! никакого echo.
Если в выводе есть html код — то лучше вынести его в чанк.
Наумов Алексей
15 февраля 2018, 09:54
0
Делайте setTVValue при вызове СНИППЕТА! Зачем вам тут плагин то? save не забудьте.

HitsPage, например, работает по данному принципу.
Наумов Алексей
15 февраля 2018, 09:18
+1
Установите Console и в ней на php напишите, что вам нужно сделать :)
Наумов Алексей
11 февраля 2018, 09:13
0
Создайте один ресурс-товар с названием «Товар»)) именно он будет падать в корзину. А добавление ваших товаров реализуйте через опции товаров, посмотрите как это делается, например, опции цвет, размер.
Наумов Алексей
08 февраля 2018, 17:04
0
А сам себе отвечу))
Системная настройка import.check_validity_catalog, ставим Нет. Просто она не подписана была)
Упс, опоздал с ответом)) Спасибо)))
Наумов Алексей
08 февраля 2018, 16:33
0
Привет.

Как отключить проверку при экспорте, которая выдает ошибку:
Ошибка! Структура каталога не прошла проверку, детали в логе modx
В логе:
Структура каталога не является валидной (базовый каталог (категория) и все его подкаталоги должны быть типа «Товар категория». Каталогам будет считаться любая «Товар категория» у которой нет родителя)

И да, читать умею)), у меня внутри категории есть несколько ресурсов с типом «Ссылка», они мне нужны для формирования меню. Не вижу причин не работать компоненту в подобных условиях, никто не просит его экспортировать эти ресурсы, это не товары и не категории.
Причем попробовал указать в настройке msimportexport.export.parents id категорий так, чтобы в дочерних были только товары — пофиг, все равно вызывается эта проверка.
Наумов Алексей
07 февраля 2018, 15:58
+1
Откройте /core/cache/elements/ далее внутри ищите файл с кешем своего сниппета (по id) и посмотрите, что внутри файла.

Именно это и будет вызываться при рендере страницы.

В обозначенных вами условиях (Если я не буду пересохранять сниппет, а также русурс из которого берутся значения для обработки сниппетом или глобально очищать кеш) должен срабатывать кеш, да.
Наумов Алексей
07 февраля 2018, 14:42
+1
{if $reply_text}
<div class="ec-message__reply">
	{if $reply_author}
	<p><strong>{$reply_author}</strong></p>
	{/if}
	<p>{$reply_text}</p>
</div>
{/if}
Наумов Алексей
07 февраля 2018, 14:29
0
Если ответа админа нет в html коде, пришедшем с сервера, то попробуйте условия, записанные в конце чанка tpl.ecMessages.Row, переписать на Fenom. Сейчас они для совместимости сделаны на довольно старом синтаксисе pdoTools.
Наумов Алексей
07 февраля 2018, 11:45
+1
))))))))))))))))

Сначала доки.

Цикл:
{foreach 1..15 as $idx}
...
{/foreach}
Получить имя переменной, наверное получится как-то так:
{$_pls['pic-url-' ~ $idx]}
но тут я уверен менее)
Наумов Алексей
06 февраля 2018, 14:14
0
tplCondition, tplOperator, conditionalTpls должны решить эту задачу тоже.
Наумов Алексей
05 февраля 2018, 11:28
0
Структура категорий в 1С и на сайте не совпадает.
Может ли компонент игнорировать ее?
Т.е. изначально все товары будут импортированы в 1 категорию, потом мы их руками раскидаем по категориям на сайте, а при обновлении будет только обновляться цена (ну и м.б. другие характеристики), а категория не меняется уже.
Наумов Алексей
03 февраля 2018, 12:24
0
Я использовал на одном сайте, но не все чанки, а только часть, потипу:
[[$text.СХЕМА_УСТРОЙСТВА]]
[[$text.ВИДЕО_ДЕМОНСТРАЦИЯ]]
и далее использовал по мере необходимости.
Работает пока) Русский язык исключительно потому, что на англ. были бы совершенно не запоминаемые названия.
Наумов Алексей
01 февраля 2018, 16:46
4
+4
hook для Formit, отсылает сообщения через sms.ru, вызываем перед хуком email:

Предварительно создаем настройки
sms_ru_api_id — api ключ, который дадут при регистрации на сайте
manager_phone — номер телефона получателя

<?php
// API id
$api_id = $modx->getOption('sms_ru_api_id', null, null);
if(empty($api_id)) {
    $modx->log(xPDO::LOG_LEVEL_ERROR,'SMS.RU hook: empty API ID!.');
    // так как это hook, то даже в случае неудачи возвращаем true
    return true;
}

// Support phone number
$phone = $modx->getOption('manager_phone', null, null);
if(empty($phone)) {
    // так как это hook, то даже в случае неудачи возвращаем true
    return true;
}

$ch = curl_init("https://sms.ru/sms/send");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(

    "api_id"        =>  $api_id,
    "to"            =>  $phone,
    "text"      =>  "ТЕКСТ СООБЩЕНИЯ",

));
$body = curl_exec($ch);
curl_close($ch);

return true;
Наумов Алексей
31 января 2018, 21:00
1
0
Используйте miniShop2, в нем есть функция мультикатегорий категорий. + удобно добавлять поля + галерея есть встроенная.
Наумов Алексей
30 января 2018, 15:59
0
А… тогда воспользуйтесь параметром offset у сниппета msGallery, 0 — первое изображение показывается, 1 — пропуститься.
Управление можно сделать через TV у ресурса.
Наумов Алексей
30 января 2018, 15:40
0
Так что ли?
{if $first}
{if $file['description'] == ""}
...
{/if}
{else}
Наумов Алексей
26 января 2018, 14:21
+1
Можно.
Или CustomUrls поставьте или плагин небольшой напишите, google в помощь, это реально все разжевывалось и по запросу «modx url в зависимости от поля» отлично ищется