ShopScript - Добавить отчет Есть решение
Пишу свой плагин для магазина, потребовалось добавить свой отчет в раздел "Отчеты" ("Продажи", ..., "Воронка оформления заказа").
Сам пункт в меню добавляется с помощь хука backend_reports:
public function hookBackendReports() { return array('menu_li' => '<li><a href="http://#/my/" target="_blank" rel="nofollow">My report</a></li>'); }
Внедрить свой раздел получилось только по аналогии со стандартными отчетами,
добавив wa-apps\shop\templates\actions\reports\ReportsMy.html, wa-apps\shop\lib\actions\reports\shopReportsMy.action.php
и изменив wa-apps\shop\js\reports.js:
checkoutflowAction: function() { $("#reportscontent").load('?module=reports&action=checkoutflow'+this.getTimeframeParams()); }, // My begin myAction: function () { $("#reportscontent").load('?module=reports&action=my'+this.getTimeframeParams()); }, // My end
Соответственно возник вопрос:
как подключить экшен "my" (выводит отчет), расположенный в плагине "repo"?
Можно ли как-то назвать класс экшена так, чтобы он был доступен по ссылке "?action=reports#/my/"?
Или как для этого грамотно использовать роутинг\маршрутизацию?
Какой JS скрипт добавить к хуку "backend_reports", чтобы отчет открывался также как и стандартные, а не на все окно?
5 ответов
<?php
class shopStatusorderPlugin extends shopPlugin
{
public function backendMenu()
{
$view = wa()->getView();
$content = $view->fetch($this->path.'/templates/menuli.html');
return array('menu_li' => $content);
}
}
?>
<li>
<a href="#/status/">[`Status order`]</a>
</li>
<script type="text/javascript">
$(document).ready(function(){
$.reports.statusAction = function(){
$("#reportscontent").load('?plugin=statusorder&action=report'+this.getTimeframeParams());
};
});
</script>
right now i am using onclick=\'$("#s-content").load("?plugin=exportzirius&action=orders");\'
have problem in adding class selected.
Is there any standard way of writing java here.
Is there any similar way { $ .reports.statusAction = function(){ $("#reportscontent").load('?plugin=statusorder&action=report'+this.getTimeframeParams()); }; });
Please reply in english...
Здравствуйте!
Хочу перейти со старого движка на новый.Предложите свои услуги. Заранее спасибо.