PDA

Просмотр полной версии : Выпадающее (всплывающее, динамическое) меню в typo3


Йожек
26.10.2011, 15:15
Здравствуйте!
Помогите пожалуйста начинающему юзеру typo3. Я создал выпадающее меню на сss на сайте purecssmenu.com. вставил его в код шаблона, при просмотре шаблона меню работает, но после создания сайта на этом шаблоне при помощи Templaviola на странице при просмотре это меню отображается просто как список.
А второе меню, которое должно быть просто в виде списка не отображается совсем. Ссылка на страницу http://hivede7-29.fornex.org/index.php?id=377

Йожек
31.10.2011, 13:18
C меню вроде разобрался, вставил нужный код в поле setup. Теперь меню работает, но картинки перестали загружаться

dmartynenko
31.10.2011, 13:35
У вас все ссылки на картинки, CSS и т.п. файл относительные - то есть относительно корня сайта. Но метатэг baseurl не прописан.

Добавьте в TS шаблон:
config.baseURL = http://hivede7-29.fornex.org/

Йожек
31.10.2011, 19:06
Спасибо за совет, но он уже прописан

dmartynenko
31.10.2011, 19:15
Если он прописан, то в HTML коде страниц сайта должно появиться в блоке <head>:
<base href="http://имя.сайта/" />

Проверьте.

Йожек
31.10.2011, 19:26
Да, появился. Но картинок все равно нет

-=UncleByte=-
31.10.2011, 19:30
А каким образом у вас получились два доктайпа, два head на странице?

dmartynenko
31.10.2011, 19:34
Я думаю что один попал из исходного HTML шаблона, другой создал TYPO3

Йожек
31.10.2011, 19:56
Ух ты, а я и не обратил внимания. Что делать, убрать эту часть из шаблона?

dmartynenko
31.10.2011, 20:15
Проще - убрать из шаблона
Лучше - настроить использование шаблона так, что бы из него брались только нужные вам части (но как - зависит от используемого подхода, TV или что-то другое).

Йожек
31.10.2011, 20:19
TV

-=UncleByte=-
31.10.2011, 23:49
Значит надо в настройках шаблона в TV отключить все части, которые отвечают за заголовки страницы. И маппинг начинать с BODY.

Йожек
03.11.2011, 11:41
Попытался убрать лишнюю шапку путем включения-выключения тэгов в пункте header в маппинге, не помогло, или я не разобрался. Просто удалил из шаблона все до тэга body. Картинки стали отображаться после добавления скрипта:

lib.logo = IMAGE
lib.logo {
file = fileadmin/logo.gif
file.width = 200
}

dmartynenko
03.11.2011, 11:43
Это магический скрипт включения картинок? :rolleyes:

Скорее всего из-за отключения лишнего кода шапки у вас стал работать метатэг baseurl. А добавление этого скрипта могло спровацировать очистку кэшей.

Йожек
03.11.2011, 11:48
У меня еще такой вопрос: для чего в редакторе страниц во вкладке Extended форма для добавления кнопок меню: http://forum.typo3.biz/attachment.php?attachmentid=393&stc=1&d=1320302845

Получается, можно создать меню силами самого typo3?

Йожек
03.11.2011, 11:52
Скрипт я естественно изменил под себя:o

dmartynenko
03.11.2011, 11:53
Мне кажется этм поля добавлены каким-то экстом который вы устанавливали сами. В стандартной странице я не помню что бы такие были.

Меню всегда создается силами TYPO3. Просто есть вариант графического меню GMENU, для которого как раз и могут быть полезны такие картинки. Эти поля один из способов как связать нужные картинки для меню со страницей.

Йожек
03.11.2011, 13:53
У меня версия typo - 4.5.6. Может у вас более ранняя?

dmartynenko
03.11.2011, 13:58
Нет, от версии это не должно зависеть. Тем более в закладку "Extended" как раз попадают поля добавленные стороними экстами, не из ядра.

Йожек
09.11.2011, 11:19
Тут еще одна проблема всплыла: я прописываю в ссылке href="index.php?id=409", а в исходном коде получаю: href="fileadmin/templates/index.php?id=409" и естественно ссылка оказывается нерабочей.

Как с этим бороться?

dmartynenko
09.11.2011, 11:29
То что у вас получается это закономерно. При обработке шаблона (TS.TEMPLATE) все относительные ссылки преобразовываются и к ним добавляется префикс заданный вами в параметрах TEMPLATE.

Простейший вариант решения - прописать полную ссылку с http://...

Вопрос в том, зачем вы ссылки вручную прописываете?

Если вы хотите вставить ссылку на конкретную страницу в конкретное место шаблона так сказать TYPO3-way, то в шаблоне вместо <a>...</a> вставьте ###PAGE_XXX_LINK###, а в TS напишите примерно так:

page = PAGE
page.10.marks.PAGE_XXX_LINK = TEXT
page.10.marks.PAGE_XXX_LINK.value = Текст ссылки
page.10.marks.PAGE_XXX_LINK.typolink.parameter = 409


Так ссылка будет создана по всем TYPO3 правилам и через RealURL (если есть).

Йожек
09.11.2011, 11:35
Это ссылки в меню, оно одинаковое для всего сайта и мне кажется проще сразу забить их в шаблон.
Я понимаю конечно, что это не очень правильно, но я первый раз имею дело с Typo3 и мне надо поскорее сделать хоть какой-то работающий сайт.

Йожек
09.11.2011, 11:42
Меню всегда создается силами TYPO3.

Я так понимаю, силами одного TYPO3 можно создать обычное меню в виде ссылок или картинок, не выпадающее?

dmartynenko
09.11.2011, 11:51
"Выпадающее" - это вообще ни коим боком не относиться к TYPO3 и его возможностям. Поведение и внешний вид меню - это все HTML + CSS + JS (опционально).

Почитайте доки и примеры про HMENU, TMENU, GMENU. Используйте мощь TYPO3. Ссылки прописанные в коде вручную - это в корне неверный подход.