Знатоки, вам вопрос. Возможно ли в админке при переходе по ссылке попадать не просто в соответствующий раздел, а чтобы сразу попадать на определённую вкладку этого раздела?
Допустим пункт меню расположен на дашборде, и кликнув на него надо попасть на страницу настроек товара в конкретную вкладку, например, на вкладку SEO или на вкладку Модули.
К ссылке надо добавить, например в приведенном примере -
&selected_section=seo
Супер, работает, только вот незадача. В маркетплейсе у страниц товара есть в ссылке параметр company_id=12345, он же у каждого магазина разный, а в админке вендора ссылка на всех одна. Что-то может служить заменителем, т.е. в зависимости от того, в чей админке нажимается ссылка, тот номер ID подставляется?
тут наверное если только ссылку через блок html + smarty
company_id={$runtime.company_id}
не помню точно, может auth.company_id - надо в выводе посмотреть
Вам ответили правильно. Вам поможет:
{$runtime.company_id}
тогда просто делаете:
{fn_url("controller.mode?company_id=`$runtime.company_id`&selected_section=my_section_id")}
К сожалению такая конструкция с {$ не работает в схеме, только если прямое указание ID-номера магазина. Вот кусок кода, куда хотел вставить такую ссылку.
`products_seo` => [
`href` => `httр://site.ru/page.php?dispatch=companies.update&company_id=5&selected_section=seo`,
`position` => 100,
],
В схеме по другому, тут php, не smarty
fn_url("controller.mode?company_id=". Registry::get('runtime.company_id'). "&selected_section=my_section_id")
И обязательно
use Tygh/Registry;
в начале файла
Честно говоря не разобрался куда впихнуть этот код fn_url("… и что должно быть в url-ссылке вместо значения в id=
И так и сяк крутил, но ссылка не работает, открывает страницу 404.
Попробуйте
'href' => fn_url("companies.update?selected_section=seo&company_id=" . Registry::get('runtime.company_id')),
и в самом верху файла, сразу после <?php
ещё добавить:
use Tygh\Registry;
(если там нет такой строчки)
А в эту конструкцию можно встроить target _blank?
Попробуйте туда же добавить новый параметр
'attrs' => [
'href' => [ // Attributes for <a>
'target' => '_blank',
],
],
В ссылке не появляется target, не чует что он есть.
Странно, это кусок кода из схемы ядра. Кэш почистили?
а что за схема?
app/schemas/menu/menu.php
да, в комменте так и написано… но далее нигде не употреблено. может, хотели но не сделали подобный разбор?
В старых версиях не работало точно, в последней глянул ночью вроде разбор стоит и должен работать, но проверять не стал.
Вот сюда не получается воткнуть target _blank
'seo_menu' => [
'position' => 100,
'items' => [
'seo_menu' => [
'href' => fn_url("companies.update?selected_section=seo&company_id=" . Registry::get("runtime.company_id")),
'position' => 100,
],
],
],
Файл этот здесь: /app/addons/vendor_panel_configurator/schemas/menu/menu_vendor.php
Может дело в самом файле, а не в таргете?
и вот так не работает?
'seo_menu' => [
'position' => 100,
'items' => [
'seo_menu' => [
'href' => fn_url("companies.update?selected_section=seo&company_id=" . Registry::get("runtime.company_id")),
'position' => 100,
'attrs' => [
'href' => [
'target' => '_blank',
],
],
],
],
],