Еще побеспокою, как можно отформатировать число под цену, может есть какие-то хелперы. Типа было 20000, стало 20 000...

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

никто не подскажет как вывести кнопку????

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

Доброго утра!

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

public static function ormInitCatalogBrand(\Catalog\Model\Orm\Brand $brand)
    {
        $brand->getPropertyIterator()->append(array( //Добавляем свойства к объекту
            'Моя закладка', //Закладка, появится в форме редактирования бренда
             
            'test_property' => new \RS\Orm\Type\Template(array( //Тип поля. Вот здесь надо Template или UserTemplate, как я понял
             // а как дальше прописывать?
                
            ))
        ));*/
    }

помогите советом....

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

Доброго времени суток!

Понадобился диалог выбора товаров и групп товаров. В контроллере админской части:

        if($id > 0) {
            //редактирование
            $dialog = new \Catalog\Model\ProductDialog("product_id", true, array($id));
            $product_form = $dialog->getHtml();
        }
        else
        {
            //новый
            $dialog = new \Catalog\Model\ProductDialog("product_id", true);
            $product_form = $dialog->getHtml();
        }


        $this->view->assign(array(
            "product_form" => $product_form,
            ));

        $helper['form'] = $this->view->fetch('form/edit_product.tpl');
        $helper->setTopTitle(t('Товар'));
    
        if ($refresh_mode) { //Если режим обновления
            return $this->result->setHtml( $helper['form'] );
        } else { //Если режим редактирования
            $this->view->assign(array(
                'elements' => $helper->active(),
            ));
            return $this->result->setTemplate("form/edit_product.tpl");
        }

в форме form/edit_product.tpl:

<div class="formbox" >
    <form method="POST" action="{urlmake}" enctype="multipart/form-data" class="crud-form">
        <input type="submit" value="" style="display:none">
        <div class="notabs">                      
            <table class="otable">                                                                              
                <tr>
                    <td class="otitle">Выберите товары</td>
                    <td>{$product_form}</td>
                </tr>
                <tr>
                    <td class="otitle">Выберите автора</td>
                    <td>
                        <div>

                        </div>
                    </td>
                </tr>
            </table>
        </div>
    </form>
</div>

в итоге при открытии окна редактирования или создания, в консоли браузера:

VM3474:3 Uncaught TypeError: $(...).selectProduct is not a function
    at HTMLDocument.eval (eval at <anonymous> (jquery.min.js:2), <anonymous>:3:39)
    at HTMLDocument.<anonymous> (admindebug.js:40)
    at j (jquery.min.js:2)
    at Object.add [as done] (jquery.min.js:2)
    at m.fn.init.m.fn.ready (jquery.min.js:2)
    at m.fn.init (jquery.min.js:2)
    at m (jquery.min.js:2)
    at Function.allReady (admindebug.js:33)
    at eval (eval at <anonymous> (jquery.min.js:2), <anonymous>:2:7)
    at eval (<anonymous>)

по ходу какой-то js не подключает, куда копать??? )))) подскажите кто чем может, плиз....

33

(1 ответов, оставленных в Вопросы по Маркетплейсу)

Низкая комиссия, высокий уровень заработка. Комиссия за продажу модуля составляет 17%.
Платные и бесплатные дополнения могут распространять как юридические, так и физические лица. Никаких ограничений.

Хотелось бы узнать, почему получилась такая цифра - 17%, или за физиков Вы платите подоходный налог? или физики сами должны платить подоходный налог.

Просто цифра очень заинтересовала ))) Типа 13% - государству, и 4% - Вам ))) а физик - типа внештатный сотрудник )))

вобщем разобрался, где-то на форуме прочитал что страница заказа одна из неизменяемых, только если руками править и вставлять в текущий шаблон, попробовал - помогло )))

Я так предполагаю, что нужно повесить хук на контроллер OrderCtrl, типа:

bind('controller.exec.shop-admin-orderctrl.index')

или

bind('controller.exec.shop-admin-orderctrl.edit')

и потом в обработчике:

public static function controllerExecShopAdminOrderctrlIndex(\RS\Controller\Admin\Helper\CrudCollection $helper)
{

}

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

Добрый день!

Только начал разбираться с движком, понадобилось расширить функционал формы редактирования заказа в Админке, а именно - нужно дополнительное текстовое поле. Почитал статью и на примере расширения карточки продукта написал добавление поля к Заказу:

handlers.inc.php

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

/**
* Класс содержит обработчики событий, на которые подписан модуль
*/
class Handlers extends \RS\Event\HandlerAbstract
{
    /**
    * Добавляет подписку на события
    * 
    * @return void
    */
    function init()
    {
        $this
            ->bind('getroute')  //событие сбора маршрутов модулей
            ->bind('orm.init.shop-order');
    }
    
    /**
    * Возвращает маршруты данного модуля. Откликается на событие getRoute.
    * @param array $routes - массив с объектами маршрутов
    * @return array of \RS\Router\Route
    */
    public static function getRoute(array $routes) 
    {        
        $routes[] = new \RS\Router\Route('test-front-ctrl',
        array(
            '/test/'
        ), null, 'Роут модуля Test');
        
        return $routes;
    }

    /**
    * Обработчик события "Инициализация ORM объекта Заказ".
    * Не забудьте переустановить модуль каталог через меню Веб-сайт->Настройка модулей. Каталог товаров -> переустановить
    * 
    * @param \Catalog\Model\Orm\Order
    * @return void
    */
    public static function ormInitShopOrder(\Shop\Model\Orm\Order $orm_order)
    {
        $orm_order->getPropertyIterator()->append(array( //Добавляем свойства к объекту
            'Тестовая закладка', //Закладка, появится в форме редактирования заказа
             
            'test_property' => new OrmType\Varchar(array( //Тип поля.
                'maxLength' => 14, // Длина поля в базе 
                'description' => 'Тестовое поле', //Название поля                
            )),
        ));
    }

}

переустановил модуль, затем модуль магазина, в бд поле появилось - а при редактировании заказа его нигде нет

не подскажите, что делаю не так...