Aslero
С нами с 26 февраля 2019; Место в рейтинге пользователей: #541Добавить коммент при оформлении заказа
как добавить комментарий в плагине, при нажатии оформить заказ?
что-то так не выходит
что-то так не выходит
case 'msOnSubmitOrder':
$order->set('comment','ip - '.$_SERVER['REMOTE_ADDR']);
break;
Weight msOption
Подскажите, как сделать select с выбором веса товара и в зависимости от веса, чтобы менялась цена товара
[[!msOptions?
&options=`weight`
&tpl=`phytomodule.option`
]]
[[!msProductOptions?
&options=`weight`
]]
Импорт из 1с в минишоп
есть плагин на событие
mSyncOnProductImport
if ($modx->event->name != 'mSyncOnProductImport') return;
$modx->log(1, 'в лог: ' . print_r($properties,1));
echo $properties["Полное наименование"];
echo $properties["Цвет маркера"];
как записать в pagetitle
товара значение $properties["Полное наименование"]
? Редирект в плагине
подскажите, почему не редиректит в плагине?
$url = $modx->makeUrl(91);
return $modx->sendRedirect($url,array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
Регистрация
Добрый день, есть форма регистрации
<form method="post" class="form-horizontal" id="office-auth-register">
<input type="hidden" name="action" value="auth/formRegister"/>
<input type="text" name="fullname" placeholder="Имя" id="office-register-form-fullname" value=""/>
<input type="text" name="mobilephone" placeholder="Номер телефона" id="office-auth-register-phone" value=""/>
<input type="email" name="email" placeholder="E-mail" id="office-auth-register-email"value=""/>
<input type="password" name="password" placeholder="Пароль" id="office-register-form-password" value=""/>
<button type="submit" class="btn-gray">Зарегистрироваться</button>
<button type="button" class="btn-bdark">Войти</button>
</form>
вызываю так[[!Office?
&tplLogin=`Office.register`
&action=`Auth`
&groups=`Users`
&loginResourceId=`37`
]]
но при вводе пароля его система не видит и в письме не присылает Office активация
подскажите, может кто делал, как отключить активацию профиля после регистрации?
Отправка на почту в плагине
почему не отправляется почта в плагине при регистрации?
<?php
if ($modx->context->key != 'mgr') {
switch ($modx->event->name) {
// Событие перед регистрацией пользователя
case 'OnBeforeUserFormSave':
if ($mode != 'new') {
return;
}
if (empty($_POST['email'])) {
$modx->event->output('Укажите электронную почту');
}
break;
case 'OnUserFormSave':
if ($mode == 'new') {
$message = $modx->getChunk('myEmailTemplate',array('name' => $_POST['email']));
//$modx->event->output($message);
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'maksim@outlook.com');
$modx->mail->set(modMail::MAIL_FROM_NAME,'site.im');
$modx->mail->set(modMail::MAIL_SUBJECT,'ваши данные site.im');
$modx->mail->address('to', $_POST['email']);
$modx->mail->address('reply-to','maksim@outlook.com');
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}else{
$modx->log(modX::LOG_LEVEL_ERROR,$message);
}
$modx->mail->reset();
$user->Profile->set('active', 1);
}
break;
}
}
Контексты и ресурсы
есть два контекста web и catalog
когда вывожу товары контекста catalog и кликаю по товару, то бывает что перекидывает на товар, который лежит в контексте web
вот ссылка на товар из контекста catalog
есть плагин, который обрабатывает вывод товаров из контекста catalog
когда вывожу товары контекста catalog и кликаю по товару, то бывает что перекидывает на товар, который лежит в контексте web
вот ссылка на товар из контекста catalog
https://site.ru/product/kombinezon-ly-2
а при клике вот сюда перекидываетhttps://site.ru/kombinezonyi/kombinezon-ly
Переключения между контекстами нет, просто вынес старые товары в отдельный контекстесть плагин, который обрабатывает вывод товаров из контекста catalog
<?php
if ($modx->event->name == 'OnPageNotFound') {
$alias = $modx->context->getOption('request_param_alias', 'q');
if (!isset($_REQUEST[$alias])) {return false;}
$request = $_REQUEST[$alias];
$tmp = explode('/', $request);
$req = 'product';
if (($tmp[0] == $req && count($tmp) == 1) || (count($tmp) == 2 && empty($tmp[1])) ) {
$modx->sendForward('2068');
return;
} else if ($tmp[0] == $req && count($tmp) >= 2 && !empty($tmp[1])) {
$obj = $modx->getObject('modResource', array('uri' => $request));
$modx->sendForward($obj->get('id'));
return;
} else if ($tmp[0] != $req && $tmp[0] != 'assets') {
$modx->switchContext('web');
return;
}
}
PdoMenu группировка пунктов
как можно реализовать в меню второго уровня, что если навпример нет подменю, то все пункты помещаем в контейнер:
то есть получить такую структуру
то есть получить такую структуру
<ul class="topmenu">
<li><a href="">Главная</a></li>
<li><a href="">Каталог</a>
<ul>
<li class="category"><a href="">Подпункт с подкатегориями</a>
<ul>
<li><a href="">Подподкатегория</a></li>
</ul>
</li>
<li class="category"><a href="">Подпункт с подкатегориями</a>
<ul>
<li><a href="">Подподкатегория</a></li>
</ul>
</li>
<li class="categories">
<a href="">Подпункт без подкатегорий</a>
<a href="">Подпункт без подкатегорий</a>
</li>
</ul>
</li>
</ul>
пока застрял на этом{'!pdoMenu' | snippet : [
'parents' => 0,
'level' => 3,
'templates' => '-3',
'tplOuter' => '@INLINE <ul class="topmenus">{$wrapper}</ul>',
'tpl' => '@INLINE <li><a href="{$link}" {$attributes} {$classes}> {$menutitle} </a>{$wrapper}</li>',
'tplInner' => '@INLINE <ul>{$wrapper}</ul>',
'tplInnerRow' => '@INLINE <li {if $wrapper}class="category"{/if}><a href="{$link}" {$attributes}> {$menutitle}</a>{$wrapper}</li>',
'sortby' => 'menuindex',
'sortdir' => 'asc'
]}
Плагин — вырезать из урл
как можно вырезать из урл «katalog»?
пробовал так, но не работает и на какое событие вешать?
пробовал так, но не работает и на какое событие вешать?
if (!isset($_REQUEST[$alias])) {return false;}
$request = $_REQUEST[$alias];
$tmp = explode('/', $request);
// Ссылка подходит под заданный формат: katalog/product
if ($tmp[0] == 'katalog' && count($tmp) >= 2) {
$name = str_replace('katalog/', '', $request);
$modx->sendForward($name)ж
}