Константин

Константин

С нами с 24 апреля 2017; Место в рейтинге пользователей: #1041

Добавить поле в опции MS вкладка "Производитель товара" msVendor .

У меня задача добавить два поля в форму в настройках MS2, вкладка «Производитель»

1. Шаг добавляем JS файл на страницу настроек, я сделал плагин

<?php
switch ($modx->event->name) {
    case 'msOnManagerCustomCssJs':
        switch ($page) {
            case 'orders':
            $modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addjsms2.js');
            break;
            case 'settings':
            $modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addjsms2vendor.js');
            break;
        }
        break;
}
На событие msOnManagerCustomCssJs

Олег Щавелев
19 ноября 2019, 05:41
modx.pro
4
1 693
0

Formit добавить класс при ошибки при валидации для радиокнопок

Здравствуйте!
Есть некая форма с группами радиокнопок. Каждая группа кнопок обязательна для заполнения.
<form action="" method="post" id="anketa4" class="ajax_form">
	<div class="form-group">
		<fieldset>
			<legend>Вопрос-1 [[!+fi.error.question1]]</legend>
			<label for="q4-1-0"><input id="q4-1-0" type="hidden" name="question1[]" value=""  class="form-control" /></li>
			<label for="q4-1-1"><input type="radio" id="q4-1-1" name="question1[]" value="Ответ1" [[!+fi.question1:FormItIsChecked=`Ответ1`]] class="form-control"><span>Ответ1</span></label>
			<label for="q4-1-2"><input type="radio" id="q4-1-2" name="question1[]" value="Ответ2" [[!+fi.question1:FormItIsChecked=`Ответ2`]] class="form-control"><span>Ответ2</span></label>
			<label for="q4-1-3"><input type="radio" id="q4-1-3" name="question1[]" value="Ответ3" [[!+fi.question1:FormItIsChecked=`Ответ3`]] class="form-control"><span>Ответ3</span></label>
		</fieldset>
	</div>
	<div class="form-group">
		<fieldset>
			<legend>Вопрос-2 [[!+fi.error.question2]]</legend>
			<label for="q4-2-0"><input id="q4-2-0" type="hidden" name="question2[]" value=""  class="form-control" /></li>
			<label for="q4-2-1"><input type="radio" id="q4-2-1" name="question2[]" value="Ответ1" [[!+fi.question1:FormItIsChecked=`Ответ1`]] class="form-control"><span>Ответ1</span></label>
			<label for="q4-2-2"><input type="radio" id="q4-2-2" name="question2[]" value="Ответ2" [[!+fi.question1:FormItIsChecked=`Ответ2`]] class="form-control"><span>Ответ2</span></label>
		</fieldset>
	</div>
	<div class="form-group">
		<div class="controls">
			<button type="submit" class="submit-btn" value="Submit">Отправить</button>
		</div>
	</div>
</form>
Вызов формы:
[[!AjaxForm? 
  &form=`AjaxForm.anketa4` 
  &snippet=`FormIt` 
  &hooks=`FormItSaveForm,email`
  &emailTo=`[[++myemail]]`
  &emailFrom=`noreply@[[!getDomainName?&url=`[[++site_url]]`]]`
  &emailFromName=`[[++site_name]]`
  &emailSubject=`Анкета с сайта [[++site_name]]`
  &emailTpl=`tpl.email-anketa4`
 &validate=`tel:required,question1:required,question2:required`
  &validationErrorMessage=`Вы должны ответить на все вопросы в анкете!`
  &successMessage=`Анкета успешно отправлена`
 ]]
Formit позволяет делать валидацию радиокнопок, но почему-то не добавляет никаких классов к незаполненым группам, что бы можно было их как-то «подсветить» через css… Что делать?!
Игорь
01 июня 2019, 18:10
modx.pro
1
780
0

Изменение опции размера в корзине miniShop2

Добрый день!
Имеем магазин на miniShop2.
У товаров есть опция — size
Товар в корзину можно добавить из каталога и со страницы товара.
— Из каталога происходит добавление без учета опции size
— Со страницы товара добавляем с учетом выбранного размера

Необходимо в корзине вывести select с опцией размера для данного товара. Но если товар добавлен с уже выбранным размером, то по умолчанию этот размер установлен в selected

А если товар добавлен без выбора размера, то просто предоставить выбор.
Андрей Шевяков
11 апреля 2019, 22:23
modx.pro
6
2 896
0

Как сделать проверку текущего пользователя на Fenom?

Всем привет. Подскажите пожалуйста как сделать проверку текущего авторизированного пользователя? Что-то типа:

{if $_modx->user.id}
Вевести что-то для текущего авторизированного пользователя
{else}
Вывести что-то для неавторизированного пользователя
{/if}
SEQUEL.ONE
04 апреля 2019, 20:17
modx.pro
4
2 891
0

Office - авторизация и регистрация через sms c одной формы

Кейс:

Клиент очень хотел, чтобы у него на странице входа, как у служб доставки, было одно поле — номер телефона. И всё. То есть, если ты новый — ты регистрируешься, если уже юзер — входишь.

Если с авторизацией через email такое можно заставить работать из коробки, то с телефоном пришлось помудрить. Далее — пошаговое описание решения.
mngatoff
26 июля 2018, 16:18
modx.pro
35
4 116
+18

Условие по номеру элемента в fenom для галереи

Здорово что продукт развивается, но вообще не понимаю как в феном написать что то чуть сложнее стандартных выражений.

Подскажите пожалуйста, как в чанке tpl.msGallery первому элементу дописывать класс, вот примерно так:
{foreach $files as $file}
	<a class="grouped_elements item [ЕСЛИ IDX=1 ТОГДА ПИШЕМ active]</b>" rel="group1" href="{$file['url']}">
		<img src="[[phpthumbon? &input=`{$file['url']}` &options=`w=400&h=270&zc=1`]]" alt="[[+description]]" width="400" height="270"/>
	</a>  
{/foreach}
Думаю, что должно быть как то так {if ($idx == 1)}active{/if}, но так не работает.

И ещё вопрос, может быть Minishop 2.4.0 как то можно к тегам modx вернуть? :) я только болеменее их освоил )))
Михаил
12 сентября 2016, 13:42
modx.pro
4
3 631
0

explode в Fenom не работает?

Почему на феноме неправильно срабатывает php-функция explode?
Её нету и в встроенных модификаторах фенома.
Как разбить строку на массив по разделителю не создавая отдельных сниппетов?
Василий Столейков
24 августа 2016, 08:28
modx.pro
2
5 008
0

Как создать условие для шаблона?

Добрый день!

Как создать условие: показать «Да», если ID шаблона = 3 или 4?

Есть кусок кода на сайте, его нужно дополнить, но показывать это дополнение нужно только в шаблонах 3 или 4

Буду очень благодарен, спасибо!
Роман
22 августа 2016, 08:28
modx.pro
3
3 340
0

Дополнительные поля профиля юзера (не extended)


Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить карму в порядке возможность обновления системы.
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
Павел Гвоздь
30 мая 2016, 22:36
modx.pro
114
19 556
+19

Redis Cache (xPDORedisCache)

Решил попробовать использовать redis кэш для modx
создал класс xPDORedisCache, особо не заморачивался переписал мемкеш класс, но возникает проблема, идет пустая выдача и в логе:
modExtensionPackage::loadCache() is not a valid static method.
в общем логе:
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Warning:  Invalid argument supplied for foreach() in /var/www/core/model/modx/modcontext.class.php on line 101
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Warning:  array_merge(): Argument #2 is not an array in /var/www/core/model/modx/modx.class.php on line 2306
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Fatal error:  Class 'modUser_' not found in /var/www/core/xpdo/xpdo.class.php on line 770
Есть какие идеи куда копать?

UPD: 2016-04-10
Решение далось легко, забыл указать сериализацию
$this->redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
Устанавливается в /core/xpdo/cache/
в настройках cache_handler = cache.xPDORedisCache
Доступные опции:
redis_server — строка с данными для подключения 'localhost:6379'
redis_auth — пароль для аутентификации
redis_db — целое число >= 0
cache_prefix — по желанию, по сути если задать в redis_db разные значения для разных сайтов, будет то, что надо

Код xpdorediscache.class.php ниже:
Dmitry Rodionov
08 апреля 2016, 22:08
modx.pro
15
6 740
+5