Алексей Шумаев

Алексей Шумаев

С нами с 30 ноября -0001; Место в рейтинге пользователей: #24
Алексей Шумаев
03 февраля 2018, 18:05
0
Нет, в админке пока смотреть негде — не делал за ненадобностью. Если будут запросы, то добавлю в дальнейшем.
Поле textarea ничем не отличается от text. Вы можете и чекбоксы/радио использовать — никто не запрещает — всё это стандартные поля формы.
Окно успеха делайте любым — это вопрос css.
Алексей Шумаев
03 февраля 2018, 17:41
0
1. Можно добавить нехитрой кастомизацией js. Можно отдельно в своём скрипте прописать такой функционал.
2. Да
3. Да. Существующие — просто образцы, для быстрого старта, их чанки даже записывать при установке необязательно.

Алексей Шумаев
02 февраля 2018, 16:45
0
Можно и без плагина прямо в шаблоне проверять
Это так придётся ВЕЗДЕ проверять: в шаблоне карточки товара, во всех чанках, где есть товар…
Не рекомендую )
Алексей Шумаев
02 февраля 2018, 13:58
2
0
Ваш вопрос слишком объёмный, т.к. ответ на него будет порождать несколько новых вопросов…
Можно делать примерно так:

I. Сначала читаем про расширение товаров, добавляем новое поле для оптовой цены, например optPrice.
II.
1. Читаем заметку
2. Создаём плагин, в нём проверяем пользователя. Примерно так:
case 'pdoToolsOnFenomInit':
    $fenom->addAccessorSmart("site", "data", Fenom::ACCESSOR_PROPERTY);
            
    # определить принадлежность к группе оптовых
    $optGroupe = 2; # ваша группа оптовых
    $ws = 0; # пока это обычный юзер
    $user = $modx->user;
    $usergroups = $user->getUserGroups();
    if ($user->get('id') && in_array($optGroupe, $usergroups)) {
        $ws = 1; # а теперь - оптовик
    }
            
    $fenom->data = [
       'ws' => $ws
    ];       
break;
Теперь ВЕЗДЕ у вас есть переменная $.site.ws.
Fenom:
{if $.site.ws == 1}
	{$optPrice}
{else}
	{$price}
{/if}
III. В том же плагине на событие msOnBeforeAddToCart добавляем изменение цены для оптовиков, если оптовик.

Вроде всё. Но нюансов может быть множество )
Алексей Шумаев
27 января 2018, 18:37
+1
Думаю, лучше самому попробовать устранить. Я выше написал простой сценарий, там не нужно особых знаний. Это даст опыт; и всё равно после устранения проблемы следите за сайтом (за изменением файлов как минимум). Ну а если уже не получится, тогда искать помощи…
Зато в следующий раз вы будете более готовы к таким проблемам, если вдруг снова возникнут.
Алексей Шумаев
27 января 2018, 18:32
0
На всякий случай, чтобы исключить наиболее частый вариант «глюков»: проверьте наличие свободного место на сервере.
Алексей Шумаев
30 декабря 2017, 19:32
+4
Благодарю Василия и Ко за столь грандиозную и полезную работу, а также за понимание и поддержку.
Всех участников Сообщества с Наступающим!
По итогам года: перевёл 90% проектов (коих достаточно много) на modhost.pro )))
Алексей Шумаев
29 декабря 2017, 18:49
0
Я как-то пробовал в одном проблемном запущенном случае SANTI.PRO, если не ошибаюсь.
Алексей Шумаев
29 декабря 2017, 16:30
1
0
Сначала посмотрите внимательно пользователей в админке, особенно с правами админа.
Могут быть сюрпризы.
1) закройте сайт, очистите. Или восстановите с чистой копии.
2) вынесете core выше web
3) настройте базовую авторизацию на админку.
4) Поставьте web-антивирус. Он вам как минимум сразу даст знать, если снова будут внесены изменения в файлы.
Дальше по ситуации, пока не будет выявлен способ проникновения, ежели повториться.
По очистке погуглите: нужно будет сначала выявить изменённые файлы через консоль.
Алексей Шумаев
05 декабря 2017, 01:28
0
Хуков нет, FormIt не используется.
В этом компоненте — главное простота запуска, возможность очень простого встраивания прямо в контент и управление всеми формами в одном месте, доступное менеджеру сайта. Ну и дополнительно заказы, геотаргетинг; сохранение всех отправленных форм + выгрузка данных + токены — это будет в новой версии, скорее всего в январе 2018.
Какой именно функционал Вам необходим?
Алексей Шумаев
19 ноября 2017, 22:15
0
Вариант:
1) Храним внешние скрипты в поле ClientConfig
Если хотим, чтобы просто было найти и клиент сам мог поставить какой-то счётчик.
2) Подключаем скрипты внизу страницы через сниппет, например: {'extScripts' | snippet}
Код примерно такой:
$js = $modx->getOption('ExtJSFooter');
$search  = array('{', '}');
$replace = array('{ ', ' }');
$out = str_replace($search,$replace,$js);
return $out;

Если у вас несколько включений скриптов (Гуглу-то, например, надо в Head включиться), то сделайте несколько настроек в ClientConfig. Запускать так: {'extScripts' | snippet: ['input'=>'head']}, {'extScripts' | snippet: ['input'=>'footer']}:

if(!isset($input)) return;
$ext = array(
    'head' => $modx->getOption('ExtJSHead')
    ,'body' => $modx->getOption('ExtJSBody')
    ,'footer' => $modx->getOption('ExtJSFooter')
);

$search  = array('{', '}');
$replace = array('{ ', ' }');
$out = str_replace($search,$replace,$ext[$input]);

return $out;
Алексей Шумаев
17 ноября 2017, 16:26
0
У gifts.ru есть API. Я реализовал синхронизацию через него. В магазине кроме gifts.ru ещё один аналогичный подтягивается. Товаров много + ценообразование, всё работает на оптимальном тарифе Modhost.
Алексей Шумаев
13 ноября 2017, 08:37
+1
Николай, мои извинения — просто забыл его включить после обновления, исправил.
Документация на docs обязательно будет после внесения запланированного функционала.
Алексей Шумаев
10 ноября 2017, 13:04
0
На любое действие response возвращает array() соответственно не очень удобно пробовать )
Нужно догадаться перезагружать страницу корзины, ну и товар добавился или нет — не видно.
Алексей Шумаев
10 ноября 2017, 10:38
0
Тоже как раз сейчас задумался.
Пока для менеджера просто скрыл его, для админа пока не думал — в принципе не мешает, это менеджеры часто случайно щёлкают и всё зависает.
Если для админа придумаю — отпишусь.
Алексей Шумаев
06 ноября 2017, 04:11
0
Компонент серьёзно обновлён.
Смотрите выше описание версии 1.1.4