51

(41 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Ну там же в откомпилированном шаблоне, есть галочка, "отправлять пароль на E-mail". Это она и есть.

Либо Вы меня не так понимаете, либо я Вас. ткните носом пожалуйста?
http://storage4.static.itmages.ru/i/16/0706/s_1467797707_6648972_2505a10c3a.png

52

(41 ответов, оставленных в Вопросы по работе с системой)

Что бы при регистрации пароль формировался автоматически и отправлялся на e-mail
А по этому вопросу?

53

(41 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Не совсем понял. Этот функционал присутствует сразу. В чём загвоздка?

Что бы при регистрации пароль формировался автоматически и отправлялся на e-mail
А как можно вызвать getPropertyView ?
А то теперь ругается на него

54

(41 ответов, оставленных в Вопросы по работе с системой)

И еще вопрос(наверно его стоит отнести к платной поддержке). Могли бы помочь с получением пароля автоматически на e-mail при регистрации. Как это сделано при оформлении заказа

55

(41 ответов, оставленных в Вопросы по работе с системой)

А теперь возник другой вопрос. Можно тоже самое сделать с формой регистрации?Вывести ее на главную, без всплывающего окна.
А то я пытаюсь делать по примеру авторизации, но получаю ошибку

Fatal error: Call to a member function getNonFormErrors() on a non-object in Z:\home\ready.local\www\core\smarty\sysplugins\smarty_internal_templatebase.php(165) : eval()'d code on line 43

И еще вопрос(наверно его стоит отнести к платной поддержке). Могли бы помочь с получением пароля автоматически на e-mail при регистрации. Как это сделано при оформлении заказа

56

(65 ответов, оставленных в Вопросы по работе с системой)

Дублирую сообщение из почты.
Посмотрел  через firebag , post не передается. Заранее спасибо.

В orderview.tpl после

{assign var=products value=$cart->getProductItems()}

вставил

{assign var=shop_config value=ConfigLoader::byModule('shop')}

заменил в orderview.tpl

                         

   {foreach from=$fm->getStructure() item=item}
                                <tr class="{cycle values=$hl name="order"}">
                                    <td class="otitle">
                                        {$item.title}
                                    </td>
                                    <td>{$item.current_val}</td>
                                </tr>
                            {/foreach}

на это

                           

 {foreach from=$fm->getStructure() item=item}
                                <tr class="{cycle values=$hl name="order"}">
                                    <td class="otitle">{$item.title}</td><td><input type="text" name="current_val" value="{$item.current_val}" class="maxWidth"></td>
                                    <!--<td>{$item.current_val}</td>-->
                                </tr>
                            {/foreach}

function init()
    {
        $this
            ->bind('controller.afterexec.shop-admin-orderctrl');
            
    }
    
    
    /**
    * Срабатывает после отработки контроллера сохранения заказа
    * 
    * @param string $result_html - готовый HTML, возвращаемый контроллером
    */
    public static function controllerAfterexecShopAdminOrderCtrl($result_html)
    {
        if (isset($_REQUEST['current_val'])){
  
            $config = \RS\Config\Loader::byModule('shop'); //Получам конфиг магазина
            $config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING, ""); //Записываем значение из поста
            $config->update(); //ЗДЕСЬ есть, т.к. сохраняется другой объект
        }
        return $result_html;
    }

57

(41 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Думаю дело не в этом потому что я пробовал, копировал полностью содержимое authorization.tplв файл authblock.tpl
Откомпилированный?

Не сразу догадался посмотреть через firebag.

Закусило Александр пишет:

В Вашем случае, можно добавить в контейнер внешний шаблон, куда заложить нужную Вам логику.
Содержимое контейнера, будет в переменной {$wrapped_content} . Например:

Моя логика
{$wrapped_content} //Вывод контента, который назначен в контейнере.

Все понял, спасибо!:)
Только вот в какой каталог разместить этот шаблон, что бы было по уму?

58

(41 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Проверка пользователь залогинен или нет, можно так:

{if $is_auth}
  //Пользователь зарегистрирован
{/if}

Это я понял, спасибо smile вопрос в другом, как скрыть сам контеинер?Проблема в том, что фон у меню контеинера у меня залит цветом. И когда вставляю проверку на "залогинен или нет", то у меня у меня соответственно пропадает меню, а фон заливки остается, потому что он привязан к классу navContainer и вписан в поле CSS-класс оборачивающего блока

Закусило Александр пишет:

Вся причина в том, что ещё в форме, которая отправляется используется скрытое поле с идентификатором контроллера. Подсмотрите на странице авторизации этот код у формы и добавьте себе это скрытое поле.

Спасибо, с этим проблему решил smile

59

(41 ответов, оставленных в Вопросы по работе с системой)

Добрый день. Подскажите пожалуйста, как правильно сделать, что бы форма входа сразу отображалсь в шапке(а то сейчас она во всплывающем окне). Я пробовал редактировать шаблон, но у меня возникло затруднение в следующем. При нажатии кнопки войти меня перекидыват на страницу авторизации site.ru/auth/ и только на этой странице получается вход, скажите как это исправить?
Я так понимаю дело в action="{$router->getUrl('users-front-auth')}"
http://storage4.static.itmages.ru/i/16/0705/s_1467704335_5942738_8d7be94b4f.png

И еще вопрос, как можно скрыть navContainer от не зарегистрированного пользователя? куда вставить проверку?

Добавить вывод полей из таблицы order_discount

http://storage4.static.itmages.ru/i/16/0628/s_1467118465_1413433_61b5457b3a.png

61

(65 ответов, оставленных в Вопросы по работе с системой)

Вообщем видимо придется забросить эту идею. Ничего не получается.

62

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Андрей.
var_dump($_REQUEST['current_val']); что выдаёт? Если ничего, то выведите весь массив $_REQUEST и посмотрите что у Вас из запроса приходит.

так же ничего

63

(65 ответов, оставленных в Вопросы по работе с системой)

var_dump($config['current_val']); выдает null

64

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Вот рабочий код:

function init()
    {
        $this
            ->bind('orm.beforewrite.shop-order');
    }
    
    /**
    * Действия перед записью в БД
    * 
    * @param array $data - массив с данными
    */
    public static function ormBeforewriteShopOrder($data) 
    {
        if (isset($_REQUEST['current_val'])){
  
            $config = \RS\Config\Loader::byModule('shop'); //Получам конфиг магазина
            $config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING, ""); //Записываем значение из поста
            $config->update(); //ЗДЕСЬ есть, т.к. сохраняется другой объект
        }
    }

не работает, и переустановил модуль и кеш скинул. ни как

65

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Если я правильно понимаю, Вы добавили поле в заказе.

Поля я добавил в Веб сайт->Настройка модулей->Магазин->Дополнительные поля->добавить поле.

66

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

orm.beforewrite у Вас сработает в тех случаях если вызывался
insert() - запись объекта
или
update() - обновление объекта
Вы сами действия где производите? В каком разделе? я имею ввиду с полем Вашим.

В админке. admin/shop-orderctrl/?id=3&do=edit вот по этому адресу

67

(65 ответов, оставленных в Вопросы по работе с системой)

Александр
Да вот куда не вставлю var_dump ошибку выдает.
Вставил Ваш код, все равно не работает. Может какая то оошибка в шаблоне самом?

68

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

чтобы посмотреть срабатывает эта функция у Вас или нет.

я понял для чего) Можете привести пример выполнения этого?

Закусило Александр пишет:

Киньте код обоих попыток.

Скину второй вариант

    function init()
    {
        $this
            ->bind('orm.beforewrite.shop-config-file');

    }
    
    public static function OrmBeforewriteShopConfigFile ($data) {
    $config = $data['orm'];   

    $config = \RS\Config\Loader::byModule('shop');
    $config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING);
    $config->update();

    }
Закусило Александр пишет:

Кстати, первый хук немного не такой. Он же должен вести на контроллер в админ панели. Вы в каком контроллере данные сохраняете.
Просто если посмотрите в папку с контролерами админки, то там есть только orderctrl, а не order. Вы же понимаете как формируется хук?
controller.afterexec.ПАПКАМОДУЛЯ-ПАПКАКОНТРОЛЛЕРА(ADMIN)-ИМЯФАЙЛАКОНТРОЛЛЕРА.

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

Закусило Александр пишет:

А вот второй должен сработать. Надо сделать var_dump и посотреть прервётся ли сохранение.

как правильно вывести var_dump(а тут что?);

69

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

А можно вообще наверное ещё проще использовать orm.beforewrite.shop-config-file, тогда это сразу в объекте сработает.

попробовал оба варианта хуков, не помогает. А var_dump от чего тут использовать?

70

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

if (isset($_POST['current_val'])){
        $order['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING);
    }

на счет этого все понятно. Но значение почему то не подхватывается. Тоесть я ввожу данные нажимаю сохранить, но ничего не происходит, где то в функции допущена ошибка?

 public static function ControllerAfterexecShopOrder ($data) {
    
    $config = $data['orm'];   

    $config = \RS\Config\Loader::byModule('shop');
    $config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING);
    $config->update();

    }

71

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Сам конфиг можно получить так:

{assign var=shop_config value=ConfigLoader::byModule('shop')}

В orderview.tpl после

{assign var=products value=$cart->getProductItems()}

вставил

{assign var=shop_config value=ConfigLoader::byModule('shop')}
Закусило Александр пишет:

И далее просто выводить значения полей в инпуты.

заменил в orderview.tpl

                            {foreach from=$fm->getStructure() item=item}
                                <tr class="{cycle values=$hl name="order"}">
                                    <td class="otitle">
                                        {$item.title}
                                    </td>
                                    <td>{$item.current_val}</td>
                                </tr>
                            {/foreach}

на это

                            {foreach from=$fm->getStructure() item=item}
                                <tr class="{cycle values=$hl name="order"}">
                                    <td class="otitle">{$item.title}</td><td><input type="text" name="current_val" value="{$item.current_val}" class="maxWidth"></td>
                                    <!--<td>{$item.current_val}</td>-->
                                </tr>
                            {/foreach}
Закусило Александр пишет:

Сам шаблон Вы естественно можете перегрузить в своей теме оформления.

шаблон перегрузил

Закусило Александр пишет:

Что касается обработки полей, то я думаю Вам нужен хук:
controller.afterexec.КОРОТКОЕ_ИМЯ_КОНТРОЛЛЕРА из таблицы http://readyscript.ru/dev-manual/dev_ho … hooks_list

<?php
namespace Edpole\Config;
use \RS\Orm\Type as OrmType;

class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
        $this
            ->bind('controller.afterexec.shop-order');

    }

Не совсем уверен на счет того, что это правильно(функция)

Закусило Александр пишет:

Где можно из POST вытащить Ваши поля и сохранить у конфига.

        public static function ControllerAfterexecShopOrder ($data) {
    
    $config = $data['orm'];   

    $config = \RS\Config\Loader::byModule('shop');
    $config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING);
    $config->update();

    }

Вот это нужно добавлять или нет?

    if (isset($_POST['current_val'])){ 
        $order['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING); 
    }  

Спасибо за помощь.

72

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

А Вы хотите откуда их редактировать? Из заказа?

Да, от туда. orderview.tpl шаблон

73

(65 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Вы в настройках модуля магазин добавляли поля(Веб-сайт->Настройка модулей->Магазин)?

Да ,там.

74

(65 ответов, оставленных в Вопросы по работе с системой)

А есть возможность добавить редактирование доп полей, которые создаются в настройках модуля магазин?

75

(65 ответов, оставленных в Вопросы по работе с системой)

а можно это сделать, как по примеру с полем "Контактное лицо" ?