Убрал.
1,601 08.07.2016 17:07:05
Re: Вывод характеристики в произвольном месте (11 ответов, оставленных в Вопросы по созданию тем оформления)
1,602 08.07.2016 16:14:37
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
Он вызывает из этого же класса функцию checkOpenPassword, посмотрите что в ней.
1,603 08.07.2016 16:12:55
Re: Вывод характеристики в произвольном месте (11 ответов, оставленных в Вопросы по созданию тем оформления)
{$mystr=str_replace("/watch?v=","/embed/", $product->getPropertyValueById(3))}Практически также как и в PHP
1,604 08.07.2016 14:01:41
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
Да точно! здесь же у нас идёт на прямую запись. Я думаю Вот так поможет.
изменить
$user['pass'] = $user::cryptPass(\RS\Helper\Tools::generatePassword(6));на
$user['openpass'] = \RS\Helper\Tools::generatePassword(6);
$user['pass'] = $user::cryptPass();
Ато у нас получается [b]openpass[/b] поэтому и пустой, что нигде не присваивается.1,605 08.07.2016 13:58:44
Re: Как вставить виджет отзывов ВК и FB в карточку товара? (2 ответов, оставленных в Вопросы по созданию тем оформления)
Я думаю надо код JS Ваш обернуть {literal}
1,606 08.07.2016 13:32:16
Re: URL в модуле контент (27 ответов, оставленных в Вопросы по работе с системой)
Да. Подумаем над этим.
1,607 08.07.2016 12:55:35
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
Чтобы видеть ошибки, а не 500-ю включите отображение ошибок:
http://readyscript.ru/faq/#faq-errors
$user = $data['orm'];
$flag = $data['flag']; //Флаг insert или update
if ($flag == self::INSERT_FLAG && \Setup::$INSTALLED && !$this['no_send_notice']) {
// Уведомление пользователю
$user = new \Users\Model\Notice\UserRegisterUser;
$user->init($this, $this['openpass']);
\Alerts\Model\Manager::send($user); Что касается уведомления, то Вы переприсвоили переменной $user, объект самого уведомления и передали объект самого себя, а не пользователя. Зачем?
Вам в Уведомдение нужно передать объект пользователя который вы получаете из объекта $data выше.
Нужно же так:)
$user = $data['orm'];
$flag = $data['flag']; //Флаг insert или update
if ($flag == $user::INSERT_FLAG && \Setup::$INSTALLED && !$user['no_send_notice']) {
// Уведомление пользователю
$user_notice = new \Users\Model\Notice\UserRegisterUser;
$user_notice->init($user, $user['openpass']);
\Alerts\Model\Manager::send($user_notice); 1,608 08.07.2016 12:45:18
Re: URL в модуле контент (27 ответов, оставленных в Вопросы по работе с системой)
Ну чтож теоретически можно сделать следующим образом.
Сам блок контроллер для пагинации принимает параметр p из GET запроса.
Для отображения пагинации нужен сам объект пагинации. А именно:
\RS\Helper\Pagination
Можно воспользоваться функцией static_call (http://readyscript.ru/dev-manual/dev_sm … tatic_call) и помощью неё заполнить объект пагинации из своего модуля, передав нужные переменные в публичную статическую функцию своего апи. Например вызовом в шаблоне:
{static_call var=paginator callback=['\Custom\Model\Api','myPagination'] params=[$this_controller->article_api, $this_controller->getParam('pageSize')]}В самой функции, надо сделать примерно следующее:
/**
*
* @param \Article\Model\Api $article_api - объект АПИ статей
* @param integer $limit - по сколько резульататов выводить.
*/
public static function myPagination($article_api, $limit)
{
$page = \RS\Http\Request::commonInstance()->get('p', TYPE_INTEGER, 1); //Получаем из GET текущую страницу
$total = $article_api->getListCount(); //Получим общее количество статей
$paginator = new \RS\Helper\Paginator($page, $total, $limit);
retrun $paginator;
}В самом шаблоне чуть ниже static_call можно вызвать теперь шаблон пагинатора:
{include file="%THEME%/paginator.tpl"}1,609 08.07.2016 12:03:27
Re: Вывод характеристики в произвольном месте (11 ответов, оставленных в Вопросы по созданию тем оформления)
А может есть в CMS какая то готовая функция которая выводит значение характеристики по ее id? Или только способ описанный выше?
Конечно есть:
Если у нас есть объект товара то можно так:
{$product->getPropertyValueById(идентификатор нужной характеристики)} {* Получить значение по id *}
{$product->getPropertyValueByTitle('имя нужной характеристики')} {* Получить значение по названию характеристики *}Единственное, нужно предварительно наполнить товар характеристиками. Если у Вас используется в коде только один экземпляр товара, например в карточке товара (правда в карточке уже характеристики подгружены) перед вызовом метода, нужно вызвать метод:
{$product->fillProperty()} {* Наполняет характеристиками товар *}Если у Вас есть несколько или множество товаров, то есть установка массовая характеристик товарам. Например так:
{$list=$this_constroller->api->addProductsProperty($list)}где $list - массив с товарами,
а в api содержится экземпляр класса \Catalog\Model\Api
1,610 08.07.2016 11:53:14
Re: Как упорядочить товары по рейтингу? (4 ответов, оставленных в Вопросы по созданию тем оформления)
Закусило Александр пишет:Всё ещё проще. В публичной части под админом слева вверху есть рычаг "Режим отладки". Включите его и потом наведитесь курсором на нужный блок. Появится кнопка настройки. После редактирования, всё пропишется само в нужный шаблон.
Пробовал так, но по рейтингу у меня таким способом корректно не выводило поэтому и решил вручную прописать.
А если через редактирование блока. У Вас какой код в итоге получался?
1,611 07.07.2016 19:52:55
Re: Как вывести блок с комментариями (10 ответов, оставленных в Вопросы по созданию тем оформления)
Попробуйте просто
{moduleinsert name="\Comments\Controller\Block\Comments" type="\catalog\model\commenttype\product" }
Думаю дело не в этом. Он отработает тоже самое, просто взяв параметры по умолчанию.
1,612 07.07.2016 19:50:16
Re: Вывод знака рубля (12 ответов, оставленных в Вопросы по созданию тем оформления)
toFixed - приводит к числу с плавающей точкой. Первый аргумент это количество чисел после запятой
https://developer.mozilla.org/ru/docs/W … er/toFixed
.toFixed().replace(/(\d)(?=(\d{3})+\.)/g, '$1 ');Тада! ![]()
1,613 07.07.2016 19:29:15
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
Попробуйте в Вашем хуке beforeWrite выполнить сразу после установки openpass
/**
* Действия перед записью объекта пользователя
*
* @param array $data - Массив с данными
*/
public static function ormBeforeWriteUsersUser($data){
/**
* @var \User\Model\Orm\User
*/
$user = $data['orm'];
$flag = $data['flag']; //Флаг insert или update
if ($flag==$user::INSERT_FLAG){ //Делаем только на создание (insert)
$my_autologin = \RS\Http\Request::commonInstance()->request('my_autologin', TYPE_INTEGER, false); //Получаем флаг из запроса
if ($my_autologin){ //Если флаг стоит
$user['pass'] = $user::cryptPass(\RS\Helper\Tools::generatePassword(6));
}
}
}Я думаю, тогда 100% всё будет как надо.
1,614 07.07.2016 19:23:39
Re: Вывод знака рубля (12 ответов, оставленных в Вопросы по созданию тем оформления)
Я думаю будет лучше так
.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1 ');1,615 07.07.2016 16:23:57
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
значит мне в форму регистрации нужно вставить данный код?
а что тогда использовать вместо? <input type="checkbox" name="reg_autologin" {if $order.reg_autologin}checked{/if} value="1" id="reg-autologin">
Да, только проверка там не нужна на if ведь объекта $order просто в том шаблоне у Вас не существует. И сделайте name другой например просто my_autologin, чтобы не пересеклось ни где. А потом в хуке на него и проверите.
1,616 07.07.2016 16:21:22
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
Потому что в объектах используются функции beforeWrite(перед записью в БД) и afterWrite(После записи в БД) в которых и происходят все дейтсвия. Если вы откроете класс \Users\Model\Orm\User (/modules/users/model/orm/user.inc.php) и посмотрите в метод
beforeWrite.
То там задаётся сам пароль вот так:
if (!empty($this['openpass'])) {
$this['pass'] = self::cryptPass($this['openpass']);
}Т.е. если задан openpass, что Вы и делаете в хуке, то pass будет сформирован из него.
Мы не храним в открытом виде пароли в БД.
1,617 07.07.2016 16:12:58
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
А для чего проверять на это галочку?
Потому, что запись в пользователя в БД может происходить и через админку. Вот представьте вы создаёте в админ панели пользователя указываете у него пароль. А он потом не подходит. Для этого и нужна проверка на галочку. Или программно создаёте пользователя, хотите присвоить ему пароль и никак не получается. Проверьте на параметр в посте.
А на каком же тогда этапе пароль должен записываться в поле pass?
Не понимаю что то я
На этом этапе Вы и передаёте пароль для записи. Просто генерируете его самостоятельно. Ведь Вы же так хотели.
1,618 07.07.2016 16:10:07
Re: Как вывести блок с комментариями (10 ответов, оставленных в Вопросы по созданию тем оформления)
Что то наделали там не так
1,619 07.07.2016 14:06:13
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
Ну вот значит всё работает. openpass записывается Ваш созданный пароль который генерируется.
Вам осталось проверить ещё на приходящую из запроса Вашу галочку. Что у Вас не работает?
1,620 07.07.2016 13:47:44
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
Да конечно
Сделайте var_dump и поставьте exit();
Если код работает, то он не даст выполнить код и покажет отработала функция или нет.
1,621 07.07.2016 13:46:04
Re: Как вывести блок с комментариями (10 ответов, оставленных в Вопросы по созданию тем оформления)
Ну дело видимо в шаблоне blocks/comment/comment_block.tpl, что-то там не так
1,622 07.07.2016 13:34:55
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
Почему эта функция не работает?
А Вы доп модуль создали? Инициализировали его?
Вот код, все скрытые поля указаны.
Ну вот referer же видите
1,623 07.07.2016 13:33:07
Re: Странный баг. (4 ответов, оставленных в Вопросы по работе с системой)
IP адреса это не 100% гарантия правильного определения города. Так у Всех. Кстати там есть выбор канала по которому находить IP адрес. Можете попробовать dadata. Может будет точнее. Или возможно. Определить город не получилось и по умолчанию отработал Краснодар.
1,624 07.07.2016 12:10:27
Re: Как вывести блок с комментариями (10 ответов, оставленных в Вопросы по созданию тем оформления)
Попробуйте \\ заменить на \, возможно Ваш сервер дописывает лишний слэш
1,625 07.07.2016 12:07:01
Re: Форма входа (41 ответов, оставленных в Вопросы по работе с системой)
И почему то перекидывает на страницу с регистрацией, наверно что то нужно добавить как было в примере с авторизацией?
Для перехода на страницу возврата передайте скрытое поле с именем "referer", где в значении укажите url куда вернутся после регистрации. И посмотрите не передаётся ли он у Вас уже. Скорее всего из-за этого.
А если мне нужно что бы было по умолчанию?
почему, так не будет работать?
Поясните подробнее, ато не совсем понятно.