Я думаю будет лучше так
.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1 ');
Форум ReadyScript Сообщения от Закусило Александр
Я думаю будет лучше так
.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1 ');
значит мне в форму регистрации нужно вставить данный код?
а что тогда использовать вместо? <input type="checkbox" name="reg_autologin" {if $order.reg_autologin}checked{/if} value="1" id="reg-autologin">
Да, только проверка там не нужна на if ведь объекта $order просто в том шаблоне у Вас не существует. И сделайте name другой например просто my_autologin, чтобы не пересеклось ни где. А потом в хуке на него и проверите.
Потому что в объектах используются функции 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 будет сформирован из него.
Мы не храним в открытом виде пароли в БД.
А для чего проверять на это галочку?
Потому, что запись в пользователя в БД может происходить и через админку. Вот представьте вы создаёте в админ панели пользователя указываете у него пароль. А он потом не подходит. Для этого и нужна проверка на галочку. Или программно создаёте пользователя, хотите присвоить ему пароль и никак не получается. Проверьте на параметр в посте.
А на каком же тогда этапе пароль должен записываться в поле pass?
Не понимаю что то я
На этом этапе Вы и передаёте пароль для записи. Просто генерируете его самостоятельно. Ведь Вы же так хотели.
Что то наделали там не так
Ну вот значит всё работает. openpass записывается Ваш созданный пароль который генерируется.
Вам осталось проверить ещё на приходящую из запроса Вашу галочку. Что у Вас не работает?
Да конечно
Сделайте var_dump и поставьте exit();
Если код работает, то он не даст выполнить код и покажет отработала функция или нет.
Ну дело видимо в шаблоне blocks/comment/comment_block.tpl, что-то там не так
Почему эта функция не работает?
А Вы доп модуль создали? Инициализировали его?
Вот код, все скрытые поля указаны.
Ну вот referer же видите
IP адреса это не 100% гарантия правильного определения города. Так у Всех. Кстати там есть выбор канала по которому находить IP адрес. Можете попробовать dadata. Может будет точнее. Или возможно. Определить город не получилось и по умолчанию отработал Краснодар.
Попробуйте \\ заменить на \, возможно Ваш сервер дописывает лишний слэш
И почему то перекидывает на страницу с регистрацией, наверно что то нужно добавить как было в примере с авторизацией?
Для перехода на страницу возврата передайте скрытое поле с именем "referer", где в значении укажите url куда вернутся после регистрации. И посмотрите не передаётся ли он у Вас уже. Скорее всего из-за этого.
А если мне нужно что бы было по умолчанию?
почему, так не будет работать?
Поясните подробнее, ато не совсем понятно.
Напишите в тех поддержку. Краснодар у Вас определяется по IP. Можно отключить в настройках модуля Магазин.
Или так {moduleinsert name="\Comments\Controller\Block\Comments" type="\Catalog\Model\CommentType\Product"}
Да так тоже верно. Но мне лень запоминать настройку
Всё ещё проще. В публичной части под админом слева вверху есть рычаг "Режим отладки". Включите его и потом наведитесь курсором на нужный блок. Появится кнопка настройки. После редактирования, всё пропишется само в нужный шаблон.
Всё правильно. Перейдите в режим правки. Наведитесь на блок и выберите там комментарии к товару.
И если честно, то это мне напоминает функционал филиалы в городах, нашей комплектации Мега маркет. Там есть и филиалы, и можно заводить свои цены и остатки.
Если вы имеете ввиду "Склады", то я про них и писал, но на карточке товара не показывается остаток цифрами. Там только такая иконка:
Чтобы переделать отображение вместо иконки цифры, думаю это не так долго.
Это не проблема, т.к. рисочки строятся от цифр.
Если документация.
http://readyscript.ru/dev-manual/dev_articles.html
Если видеоканал:
https://www.youtube.com/playlist?list=P … L4X2UTC6Aw
Советую начать с первого шага.
Я вставил $this['openpass'] = \RS\Helper\Tools::generatePassword(6); в файл user.inc.php
Не знаю как вы это умудрились сделать Я надеюсь вы не забыли, что этот код нужно проверять если из запроса пришла включённая галочка.
Я предполагаю, что вы вставили так, при авторизации этот код у Вас тоже вызвался и Вы сменили себе пароль.
Был бы премного благодарен, если бы подсказали как вынести это в отдельный модуль. Загоздка заключается в следующем
Правильно будет так: public static function ormBeforeWriteUsersUser($user(незнаю точно должна быть эта переменная или нет))
Или так: public static function ormBeforeWriteUsersUser(\Users\Model\Orm\User $userнезнаю точно должна быть эта переменная или нет))
Правильно вот так:
/**
* Действия перед записью объекта пользователя
*
* @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)
//То что мне надо
}
}
В тех. поддержке по платным доработкам сейчас завал, очень много желающих, просто до Вас ещё не дошли. Ставка программиста нашего на текущий момент 750 рублей в час. Но у Вас задача большая, поэтому она считается отдельно.
И если честно, то это мне напоминает функционал филиалы в городах, нашей комплектации Мега маркет. Там есть и филиалы, и можно заводить свои цены и остатки.
http://readyscript.ru/internet-magazin/shop-mega/
http://readyscript.ru/text-blog/welcome-megamarket/
Если это так, то покупайте мегамаркет или переходите на него из своей комплектации.
Там уже в переменной $pval подготовленные данные. Вы можете применить замену запятой на <br> тег.
Например:
{str_replace(',','<br/>',вашапеременная)}
И если не ошибаюсь код вывода этих характеристик чуть ниже.
Я вообще-то имел ввиду в helpdesk.readyscript.ru Там есть сервис пожеланий. На форуме оно умрёт:)
Точно не понял сразу, что речь идёт о регистрации. Там действительно этой галочки нет и не будет. Что можно сделать? Можно из доп модуля подвеситься на создание пользователя, или если установлена Ваша галочка, то сделать так:
$new_user['openpass'] = \RS\Helper\Tools::generatePassword(6);
Вам нужен хук orm.beforeWrite.users-user
http://readyscript.ru/dev-manual/dev_hooks.html
Ну там же в откомпилированном шаблоне, есть галочка, "отправлять пароль на E-mail". Это она и есть.
И ещё момент с оформлением заказа. Там будет переменная $cart_data, которая тоже будет с уже отформатированными данными. Она либо назначается в шаблон сразу, либо при помощи метода в объекте заказа getCartData.
Для того, чтобы получить не форматированные данные, можно либо переназначить переменную:
{$cart_data=$order->getCart()->getCartData(false, false)} {* false означает сделать неформатированными данные *}
Либо указать у этого метода false, false, если он в шаблоне присутствует.
Да, сделал первым вариантом. Проблема возникла пока что только с корзиной, там вывожу сумму вот так {$cart_info.total_unformatted|number_format:0:" ":" "}
У нас есть модификатор format_price, он сделает всё необходимое с ценой. Например:
{$cart_info.total_unformatted|format_price}
Что касается корзины при обновлении то там передаются и не форматированные данные в json который возвращается при манипуляции с товарами. Сам код находится в js папке с Вашей темой в common.js.
Функция updateCartBlock.
Там при можно поменять вывод и при помощи console.log посмотреть, что приходит в serverData.
Форум ReadyScript Сообщения от Закусило Александр