0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 927 Просмотров
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Здравствуйте, возникла необходимость отображать на странице определенную картинку в зависимости от от выбранного пункта меню.
У меня такая идея в "Менеджере меню" в пункте меню в поле "Изображение ссылки" вставить картинку, а в index.php вставить ее код в нужный для меня блок.
Вот только не пойму какой код нужно вставить?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Как достать картинку из меню?
« Ответ #1 : 11.06.2017, 16:47:39 »
Где именно там картика не помню, но сам объект активного меню получается вот так.
Код: php
$app  = JFactory::getApplication();
$activeMenu = $app->getMenu()->getActive();
echo '<pre>', print_r($activeMenu), '</pre>';
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #2 : 11.06.2017, 17:05:52 »
вот что получилось:
Код
JMenuItem Object
(
    [id] => 101
    [menutype] => mainmenu
    [title] => HTML
    [alias] => home
    [note] =>
    [route] => home
    [link] => index.php?option=com_content&view=article&id=2
    [type] => component
    [level] => 1
    [language] => *
    [browserNav] => 0
    [access] => 1
    [params:protected] => Joomla\Registry\Registry Object
        (
            [data:protected] => stdClass Object
                (
                    [show_title] => 0
                    [link_titles] => 0
                    [show_intro] => 0
                    [info_block_position] => 1
                    [info_block_show_title] => 0
                    [show_category] => 0
                    [link_category] => 0
                    [show_parent_category] => 0
                    [link_parent_category] => 0
                    [show_associations] => 0
                    [show_author] => 0
                    [link_author] => 0
                    [show_create_date] => 0
                    [show_modify_date] => 0
                    [show_publish_date] => 0
                    [show_item_navigation] => 0
                    [show_vote] => 0
                    [show_icons] => 0
                    [show_print_icon] => 0
                    [show_email_icon] => 0
                    [show_hits] => 0
                    [show_tags] => 0
                    [show_noauth] =>
                    [urls_position] =>
                    [menu-anchor_title] =>
                    [menu-anchor_css] =>
                    [menu_image] => images/banners/white.png
                    [menu_text] => 0
                    [menu_show] => 1
                    [page_title] =>
                    [show_page_heading] => 0
                    [page_heading] =>
                    [pageclass_sfx] =>
                    [menu-meta_description] =>
                    [menu-meta_keywords] =>
                    [robots] =>
                    [secure] => 0
                )

            [initialized:protected] => 1
            [separator] => .
        )

    [home] => 1
    [img] => 
    [template_style_id] => 0
    [component_id] => 22
    [parent_id] => 1
    [component] => com_content
    [tree] => Array
        (
            [0] => 101
        )

    [query] => Array
        (
            [option] => com_content
            [view] => article
            [id] => 2
        )

)
1
« Последнее редактирование: 11.06.2017, 17:10:25 от skytype »
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #3 : 11.06.2017, 17:06:41 »
вот моя картинка [menu_image] => images/banners/white.png, а как ее вставить в блок нужный мне
« Последнее редактирование: 11.06.2017, 17:11:14 от skytype »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Как достать картинку из меню?
« Ответ #4 : 11.06.2017, 17:12:46 »
вот моя картинка [menu_image] =&gt; images/banners/white.png, а как ее вставить в в блок нужный мне
Агась, скинул то что нужно.
Код: php
<?php
$app  = JFactory::getApplication();
$activeMenu = $app->getMenu()->getActive();
$activeMenuIMG = '/'.$activeMenu->params->get('menu_image','images/defaultimage.png');
?>
<img src="<?php echo $activeMenuIMG; ?>" />

Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #5 : 11.06.2017, 17:24:55 »
Огромное спасибо, все работает, плюсик к карме)
Подскажи, что нужно прочитать чтобы понять почему эта строчка составлена так: $activeMenuIMG = '/'.$activeMenu->params->get('menu_image','images/defaultimage.png');
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Как достать картинку из меню?
« Ответ #6 : 11.06.2017, 17:34:10 »
Думаю какой нибудь учебник по основам php и  доку Joomla
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #7 : 11.06.2017, 18:02:34 »
Я неправильно выразил свою мысль, я не понял почему именно через get.
Я пытался получить так: $activeMenu->params->menu_image.
Вот и спрашиваю что именно прочесть чтобы понять почему через get.
Какой метод искать?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Как достать картинку из меню?
« Ответ #8 : 11.06.2017, 20:00:05 »
Я неправильно выразил свою мысль, я не понял почему именно через get.
Я пытался получить так: $activeMenu->params->menu_image.
Вот и спрашиваю что именно прочесть чтобы понять почему через get.
Какой метод искать?
[params:protected] => Joomla\Registry\Registry Object
        (
            [data:protected] => stdClass Object
Вот почему.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #9 : 12.06.2017, 10:16:47 »
Возникла проблема.
Когда я кликаю на пункты меню картинка появляется, но если я перехожу в подменю этого пункта то картинка пропадает.
При этом если оставить чтобы картинка появлялась в самом меню то там она не пропадает, а в моем блоке ее нет.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Как достать картинку из меню?
« Ответ #10 : 12.06.2017, 10:22:33 »
Возникла проблема.
Когда я кликаю на пункты меню картинка появляется, но если я перехожу в подменю этого пункта то картинка пропадает.
При этом если оставить чтобы картинка появлялась в самом меню то там она не пропадает, а в моем блоке ее нет.
Ну логично. Ведь держаться же картинка активного.  Если ещё родителя то это будет уже жуткое утежеление, тут два варианта вижу.
1 сделать чисто модуль с картинкой.
2 переопределить ещё один шаблон модуля меню. И там выводить на только картинки активного или активного родителя.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #11 : 12.06.2017, 10:24:03 »
print_r($activeMenu) выдает такие параметры.
Код
JMenuItem Object
(
    [id] => 111
    [menutype] => mainmenu
    [title] => Оглавление
    [alias] => oglavlenie
    [note] =>
    [route] => home/oglavlenie
    [link] => index.php?option=com_content&view=article&id=3
    [type] => component
    [level] => 2
    [language] => *
    [browserNav] => 0
    [access] => 1
    [params:protected] => Joomla\Registry\Registry Object
        (
            [data:protected] => stdClass Object
                (
                    [show_title] => 0
                    [link_titles] =>
                    [show_intro] =>
                    [info_block_position] =>
                    [info_block_show_title] =>
                    [show_category] =>
                    [link_category] =>
                    [show_parent_category] =>
                    [link_parent_category] =>
                    [show_associations] =>
                    [show_author] =>
                    [link_author] =>
                    [show_create_date] =>
                    [show_modify_date] =>
                    [show_publish_date] =>
                    [show_item_navigation] =>
                    [show_vote] =>
                    [show_icons] =>
                    [show_print_icon] =>
                    [show_email_icon] =>
                    [show_hits] =>
                    [show_tags] =>
                    [show_noauth] =>
                    [urls_position] =>
                    [menu-anchor_title] =>
                    [menu-anchor_css] =>
                    [menu_image] =>
                    [menu_text] => 1
                    [menu_show] => 1
                    [page_title] =>
                    [show_page_heading] =>
                    [page_heading] =>
                    [pageclass_sfx] =>
                    [menu-meta_description] =>
                    [menu-meta_keywords] =>
                    [robots] =>
                    [secure] => 0
                )

            [initialized:protected] => 1
            [separator] => .
        )

    [home] => 0
    [img] =>  
    [template_style_id] => 0
    [component_id] => 22
    [parent_id] => 101
    [component] => com_content
    [tree] => Array
        (
            [0] => 101
            [1] => 111
        )

    [query] => Array
        (
            [option] => com_content
            [view] => article
            [id] => 3
        )

)
1
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #12 : 12.06.2017, 10:27:17 »
Я тоже уже думаю о модуле, просто сбивает столку что в меню картинка не пропадает, а в Joomla я новичек и PHP только еще учу, вот и подумал что можно использовать другой класс.
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #13 : 12.06.2017, 10:45:14 »
Почему не работает этот код
Код
$activeMenuImgTest = $activeMenu->params->get('menu_image');
if($activeMenuImgTest){
    $activeMenuIMG = '/' . $activeMenu->params->get('menu_image');
    $imgTest = "Заполнено";
}else{
    $imgTest = "Пусто";
}
<img src="' . $activeMenuIMG . '" />
Причем здесь все работает
Код
<?php echo '<pre>',  $imgTest, '</pre>'; ?>
когда есть картинка пишет "Заполнено", а когда нет - "Пусто".
« Последнее редактирование: 12.06.2017, 10:48:31 от skytype »
*

skytype

  • Захожу иногда
  • 66
  • 1 / 0
Re: Как достать картинку из меню?
« Ответ #14 : 12.06.2017, 11:32:06 »
Для меня это пока еще все сложно вставлю через модули.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 2404
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 4623
Последний ответ 23.05.2023, 07:22:49
от geral
Цвет фона меню

Автор IhorPH

Ответов: 7
Просмотров: 1080
Последний ответ 21.03.2023, 11:47:29
от marksetter
OffCanvas меню Helix Ultimate добавить текст к иконке

Автор Andre100

Ответов: 2
Просмотров: 2101
Последний ответ 20.03.2023, 12:42:49
от Andre100
OffCanvas меню

Автор Алексей Лоскутов

Ответов: 5
Просмотров: 2143
Последний ответ 13.02.2023, 20:20:37
от dashkov