Вставить изображение МЕЖДУ пунктами меню (mainmenu; плоский список)

Тема в разделе "Вопросы по работе с меню", создана пользователем asha7771, 31.01.2009.

  1. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Здравствуйте! Подскажите пожалуйста вариант/ы решения, следующей задачи.
    Между пунктами моего mainmenu необходимо вставить изображение (background)
    Меню, например, имеет следующий вид:

    Художники (<-- это изображение и текст)
    Импрессионисты
    Кубисты
    Реалисты


    Компьютерная графика (<-- это изображение и текст)
    Уроки
    Клипарт


    Импрессионисты, Кубисты, Реалисты, Уроки, Клипарт - это ссылки на основного меню сайта.

    Меню и его форматирование под мой дизайн я сделала (mod_mainmenu.php; style.css).
    Как разбить мою меню изображениями??? Может, кто знает, как реализовывал такое или есть мысли?
    Поделитесь опытом!
     
  2.  
  3. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    для joomla 1.0.x:
    есть такой пункт меню "разделитель". когда его создаете - в название пункта меню пишитетекст (художники, компьютерная графика), а справа будет опция - изображение пункта меню, там выбираете ту картинку, которая вам нужна.
    вывод всего этого дела корректируете в mod_mainmenu.php :) можно даже сделать так, чтобы картинка шла не через img,а прямо фоном к ячейке меню.
     
  4. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Спасибо, большое за ответ!!! Подскажите, пожалуйста как это все дело вывести в mod_mainmenu.php. И если можно поподробнее - и как вывести, и как не картинкой , а фоном.
     
  5. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    какой тип меню? вертикальный, горизонтальный или плоский список?
     
  6. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Плоский список. :)
     
    Последнее редактирование: 02.02.2009
  7. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    в районе 350 строки:

    Код (CODE):
    1. switch ($style) {
    2. case 1:
    3. echo '<ul id="'. $menuclass .'">';
    4. foreach ($links as $link) {
    5. echo '<li>' . $link . '</li>';
    6. }
    7. echo '</ul>';
    8. break;


    меняем на что-то типа (примерный набросок):

    Код (CODE):
    1. switch ($style) {
    2. case 1:
    3. echo '<ul id="'. $menuclass .'">';
    4. foreach ($links as $link) {
    5. if ($mitem->type == "separator") {
    6. echo '<li style="background-image:url('. $mosConfig_live_site .'/images/stories/'. $menu_image .')">' . $link . '</li>';
    7. } else {
    8. echo '<li>' . $link . '</li>';
    9. }
    10. echo '</ul>';
    11. break;


    добавляем к функции mosShowHFMenu (около 325 строки) в global $mosConfig_live_site.
    ну а дальше смотрим, что не работает и задаем конкретные вопросы :)
     
  8. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Огромное спасибо! :) Буду сейчас разбираться...вопросы-ТО -будут :comic:
     
  9. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Сделала…пока, без правки mod_mainmenu.php Создала нужные мне «Разделитель/Заполнитель» и подправила в своем шаблоне style.css - в style и id (mainlevel), u прописала background.

    В mod_mainmenu.php – пишет мне ошибку в синтаксисе {:''( (Parse error: syntax error, unexpected T_DEFAULT in C:xampp\htdocs\museum-pop-art\modules\mod_mainmenu.php on line 361 - сразу после break; ).
    Сделала так (как и писали)- у меня 350 строка:
    Код (PHP):
    1. switch ($style) {
    2. case 1:
    3. echo '<ul id="'. $menuclass .'">';
    4. foreach ($links as $link) {
    5. if ($mitem->type == "separator") {
    6. echo '<li style="background-image:url('. $mosConfig_live_site .'/images/stories/'. $menu_image .')">' . $link . '</li>';
    7. } else {
    8. echo '<li>' . $link . '</li>';
    9. }
    10. echo '</ul>';
    11. break;


    323 строка
    Код (PHP):
    1. function mosShowHFMenu(  &$params, $style=0 ) {
    2.     global $database, $my, $cur_template, $Itemid;
    3.     global $mosConfig_absolute_path, $mosConfig_shownoauth,$mosConfig_live_site;


    Мне то – по моему шаблону сайта надо выводить вообще 3 картинки-фоновые, т. к. они по размеру из-за текста разные по высоте. После правки php , можно ли вывести (Параметры -->Изо-е меню) 3 картинки фоном, пока они вообще не выводятся (с:/xampp/htdocs/mysait/images/stories/ ) и те что «родные» тоже.
    Почему ошибка? Заранее спасибо!!! :)
     
    Последнее редактирование: 03.02.2009
  10. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    Код (CODE):
    1. echo '<li>' . $link . '</li>';
    2. }
    3. } <---- вот это надо добавить
    4. echo '</ul>';

    забыл вторую скобку закрыть после else.
     
  11. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Cпасибо! :) Ошибка пропала. Но изображения не выводятся...буду сейчас искать в чем дело.
    Вопрос: $menu_image - эта переменная выводит название картинки из папки stories? И если указать в "Параметрах" Разделитель/Заполнитель разные, то они и должны "выводится"???
    Пробовала путь указать начиная с htdocs, на всякий случай. :pleasant:
    Код (PHP):
    1. echo '<li style="background-image:url('. $mosConfig_live_site .'/images/stories/'. $menu_image .')">' . $link . '</li>';
     
  12. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Что не так не пойму, но и в код страницы(html)- php ничего не выводит....<li style="background-image:url(/images/stories/...)> - неттттт {;(
     
  13. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    добавьте где-нибудь в else (где просто echo $link с <li></li>) echo $mitem->type. на это место выведется содержимое переменной: для пунктов "разделитель" должен написать separator, для остальных - не знаю :).
    если будет пусто (т.е. echo переменной ничего не возвращает, т.е. переменная пустая) - попробуйте ее ($mitem) тоже добавить в globals, причем как в этой функции, так и в той, где она вызывается в оригинале. когда убедитесь, что переменная возвращает правильное значение - не забудте убрать добавленный echo (его цель - только выявить ошибку).
     
  14. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Спасибо!!! Сижу ковыряю... :)
     
  15. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Может кому сгодиться.
    141-153 строка кода
    Код (PHP):
    1. if ( $params->get( 'menu_images' ) ) {
    2.             $menu_params = new stdClass();
    3.             $menu_params = new mosParameters( $mitem->params );
    4.             $menu_image = $menu_params->def( 'menu_image', -1 );
    5.             if ( ( $menu_image != '-1' ) && $menu_image ) {
    6.                 $image = '<li id="asha" style="background-image:url('. $mosConfig_live_site .'/images/stories/'. $menu_image .')">';
    7.                 if ( $params->get( 'menu_images_align' ) ) {
    8.                     $txt = $txt .' '. $image;
    9.                 } else {
    10.                     $txt = $image .' '. $txt;
    11.                 }
    12.             }
    13.         }

    352-354 строка кода
    Код (PHP):
    1. foreach ($links as $link) {
    2.                     echo  $link . '</li>';
    3.                 }

    В html выведет следующие
    <--! <li id="asha" style="background-image:url(http://localhost..........)"><span (или li :) ) class="mainlevel">Художники</span> -->

    Большое спасибо за помощь!- ---->Jkr
     
  16. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    Да нзчт :) можно посмотреть на результат?
     
  17. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    МММ—ум- на локалке сайт…Как показать?... 2 апреля защита диплома (к этому сроку надо разместить)…обязательно покажу….
    ….могу файл php и сss кинуть (но там, то что писала выше) и описание меню (обычные пункты), картинки и PrtScr :pleasant: того что получилось…если не лень пазл – этот собирать. Как по другому показать че-то не знаю…:tease2:
    Hочь…а я галерею datso (о которой до сегодняшнего вечера ничего не знала) юзаю… :prepfish: и терзают меня смутные сомнения что надо новую тему создавать:
    «Что придумать!? Необходимо установить 3-5 галерей (тип/по типу - функционала и дизайна как - DatsoGallery) на одном сайте. Как грамотно - это реализовать?»
    [!!!] Эту web-матрицу...
     
  18. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    asha7771, на счет установки нескольких копий одного компонента уже тут писали :)
     
  19. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    не проще поставить 1 галерею, а в меню ссылки ставить на конкретные категории?
     
  20. asha7771
    Offline

    asha7771 Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    23
    Симпатии:
    0
    Пол:
    Женский
    Спасибо! Нашла прочитала. :)

    Спасибо, так и буду делать...:)

    Подскажите, пожалуйста, правильно ли я организовала контент:

    [​IMG]

    Художники (это Раздел) -->1_Энди Уорхол (Категория) и 2_Роберт Раушенберг(Категория).
    У этих категорий, соответствующие статьи....

    А вот в статье....!!!....

    <--!<a href="http://localhost/...........">Биография</a>
    <a href="http://localhost/...........">Галерея работ</a> -->

    Биография- это ссылка скопированная с браузера (Там где отображался - "Основной текст(опционально)")

    Галерея работ - это ссылка скопированная с браузера (Там где отображалась нужная категория картинок из DatsoGallery)
    Сам компонент в меню Отключила и включаю, когда надо скопировать категорию для нужного художника....
    Также "включаю" и ссылку Подробнее... --------в статьях, чтобы выйти на нужную страницу и скопировать <--!http://localhost/-->.......... для Биография

    Все работает…но, может это ВСЕ можно проще организовать…
     
    Последнее редактирование: 09.02.2009
  21. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    ничего не понял :)
    вы из статьи вручную проставляете ссылки на другие статьи этой же категории (т.е. получается этого же художника)?
     

Поделиться этой страницей

Загрузка...