Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 18.03.2009, 19:42   #1
ksevelyar
Senior Member
 
Аватар для ksevelyar
 
Регистрация: 07.04.2008
Адрес: msk
Сообщений: 125
По умолчанию Подменю для главной страницы сайта

Если мне требуется ссылка на главную страницу в меню - на уровне других страниц меню (обычно втором) создаётся страница "Главная", её тип изменяется на ярлык, который ведёт на главную.

Если мне требуется подменю на главной странице - создаётся страница "главная", внутри этой страницы создаются страницы составляющие это самое подменю.

После этого уже корневая страница делается ярлыком на эту квази-главную страницу.

Квази-главная страница не должна показываться в меню, поэтому ставим соответствующую опцию в её свойствах.

Когда вводится адрес сайта - site.ru, например, пользователь видит подменю.

Нюанс: квази-главная страница не исчезает, чтобы поисковики не индексировали её, она запрещается в robots.ini.

А что делать если нужно чтобы было и подменю на главной странице и ссылка на главную страницу в меню?

Логично создать ещё одну страницу главная-ярлык и сделать её ярлыком уже на главную - однако это не работает. Не работает и изменение типа страницы на внешнюю ссылку, адрес которой site.ru
__________________
Грудь в крестах, или голова в кустах.
ksevelyar вне форума   Ответить с цитированием
Старый 19.03.2009, 06:43   #2
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Код:
lib.mainmenu = COA
lib.mainmenu {
  10 = TEXT
  10.value = Главная
  10.typolink.parameter.data = leveluid:0
  10.wrap = <li>|</li>
  20 = HMENU
  20 {
  1 = TMENU
  1 {
    NO {
        linkWrap = <li>|</li>
      }
    ACT = 1
    ACT {
        linkWrap = <li>|</li>
        ATagParams = class="active"
       }
     }
   }
 }


[treeLevel = 0]
lib.mainmenu = COA
lib.mainmenu {
  10 = TEXT
  10.value = Главная
  10.typolink.parameter.data = leveluid:0
  10.wrap = <li>|</li>
  10.typolink.ATagParams = class="active"
  20 = HMENU
  20 {
  1 = TMENU
  1 {
    NO {
        linkWrap = <li>|</li>
      }
    ACT = 1
    ACT {
        linkWrap = <li>|</li>
      }
     }
   }
}
[end]
Примерно так.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 19.03.2009, 17:01   #3
ksevelyar
Senior Member
 
Аватар для ksevelyar
 
Регистрация: 07.04.2008
Адрес: msk
Сообщений: 125
По умолчанию

Спасибо, для моего сайта с automaketemplate рабочее решение выглядит так:

Код:
subparts.rmenu = HMENU
subparts.rmenu.entryLevel = 1
subparts.rmenu.1 = TMENU
subparts.rmenu.1.expAll = 1
subparts.rmenu.1 {
    NO {
    linkWrap = <div class="l1">|</div>
    10 = TEXT
    10.text.field = title
    }
    ACT = 1
    ACT.linkWrap = <div class="l1act">|</div>
    CUR = 1  
    CUR < .ACT    
    CUR.doNotLinkIt = 1
}

subparts.rmenu.2 = TMENU
subparts.rmenu.2 {
    NO {
    linkWrap = <div class="l2">|</div>
    20 = TEXT
    20.text.field = title
    }
    ACT = 1
    ACT.linkWrap = <div class="l2act">|</div>
    CUR = 1  
    CUR < .ACT    
    CUR.doNotLinkIt = 1
}
  
[treeLevel = 0]
subparts.rmenu.entryLevel = 0 
subparts.rmenu.special = directory
subparts.rmenu.special.value = 80 
[end]
Ключевым является условие [treeLevel = 0] ... [end]

И не менее важная информация, которую я узнал в процессе - настройки первого меню - наследуются!

То есть показанный Вами пример можно сократить до следующего:

Код:
lib.mainmenu = COA
lib.mainmenu {
  10 = TEXT
  10.value = Главная
  10.typolink.parameter.data = leveluid:0
  10.wrap = <li>|</li>
  20 = HMENU
  20 {
  1 = TMENU
  1 {
    NO {
        linkWrap = <li>|</li>
      }
    ACT = 1
    ACT {
        linkWrap = <li>|</li>
        ATagParams = class="active"
       }
     }
   }
 }


[treeLevel = 0]
lib.mainmenu.10.typolink.ATagParams = class="active"
[end]
__________________
Грудь в крестах, или голова в кустах.
ksevelyar вне форума   Ответить с цитированием
Старый 19.03.2009, 17:30   #4
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Наследуются, да, все верно.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 13.04.2012, 17:59   #5
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

Вот не выходит "золотой ключик", и всё тут! ))
Код:
lib.localmenu = COA
lib.localmenu {
  wrap = <ul>|</ul>
  10 = TEXT
  10.field = title
  10.typolink.parameter.data = leveluid:0
  10.wrap = <li>|</li>
  20 = HMENU
  20 {
  1 = TMENU
  1 {
    NO {
        linkWrap = <li>|</li>
      }
    ACT = 1
    ACT {
        linkWrap = <li>|</li>
        ATagParams = class="active"
       }
     }
   }
 }


[treeLevel = 0]
lib.localmenu = COA
lib.localmenu {
  wrap = <ul>|</ul>
  10 = TEXT
  10.field = title
  10.typolink.parameter.data = leveluid:0
  10.wrap = <li>|</li>
  10.typolink.ATagParams = class="active"
  20 = HMENU
  20 {
  1 = TMENU
  1 {
    NO {
        linkWrap = <li>|</li>
      }
    ACT = 1
    ACT {
        linkWrap = <li>|</li>
      }
     }
   }
}
[end]
тут всё подставляет верно. Что делаю дальше: на странице определены: заголовок страницы "Добро пожаловать!", альтернативный заголовок "Точка отсчета", и для эксперимента добавил ещё подзаголовок "Точка отсчета1"
меняю title на subtitle - так и показывает "Добро пожаловать!" Кэши где только ни чистил. Далее. 10.field = title меняю на 10.value = title - теперь показывает title, то есть с кэшем всё в порядке, он ни при чем.
Alex Podusov вне форума   Ответить с цитированием
Старый 13.04.2012, 18:26   #6
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Можно попробовать добавить
Код:
lib.localmenu.10.allStdWrap.insertData = 1
-=UncleByte=- вне форума   Ответить с цитированием
Старый 13.04.2012, 23:04   #7
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

Прошу прощения, немного не дописал...
если в первом блоке пишу field = title, а для [treeLevel = 0] пишу field = subtitle - всегда показывает только значение поля title, и для внутренних, и для корневой страницы
а если для внутренних пишу value = внутренние а в [treeLevel = 0] пишу value = главная - то в этом случае да, все нормально, для внутренних страниц в этом месте пишет "внутренние", а для корневой - "главная".
Может я чего-то не понимаю...
вот конфиг:
Код:
lib.localmenu = COA
lib.localmenu {
  wrap = <ul>|</ul>
  10 = TEXT
  10.value = Точка отсчета
  10.typolink.parameter.data = leveluid:0
  10.wrap = <li>|</li>
  20 = HMENU
  20 {
  1 = TMENU
  1 {
    NO {
        linkWrap = <li>|</li>
      }
    ACT = 1
    ACT {
        linkWrap = <li>|</li>
        ATagParams = class="active"
       }
     }
   }
 }


[treeLevel = 0]
lib.localmenu = COA
lib.localmenu {
  wrap = <ul>|</ul>
  10 = TEXT
  10.value = Точка отсчета
  10.typolink.parameter.data = leveluid:0
  10.wrap = <li>|</li>
  10.typolink.ATagParams = class="active"
  20 = HMENU
  20 {
  1 = TMENU
  1 {
    NO {
        linkWrap = <li>|</li>
      }
    ACT = 1
    ACT {
        linkWrap = <li>|</li>
      }
     }
   }
}
[end]


# Lib's
lib.imgtitle = TEXT
lib.imgtitle.value = Территория творчества

lib.searshform = TEXT
lib.searshform.value = ФОРМА

lib.mytitle = TEXT
lib.mytitle.field = title

lib.copiright = HTML
lib.copiright.value = &copy; 2009-2012, Сергиев Посад

# Default PAGE object:
page = PAGE
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
не стал заморачиваться с полем title в менюшке - поставил value, надо будет - не сложно и в конфиге поменять. Но настала другая пробдема.
lib.imgtitle, lib.searshform и lib.copiright прекрасно выводят свои значения.
А вот lib.mytitle - ну ни в какую не хочет!!! lib.mytitle - без ошибки, скопировал из разметки.
Alex Podusov вне форума   Ответить с цитированием
Старый 14.04.2012, 09:56   #8
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

А если в случае с field для начала написать 10.field > и только потом присвоить 10.field = subtitle?
-=UncleByte=- вне форума   Ответить с цитированием
Старый 14.04.2012, 13:33   #9
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

Цитата:
Сообщение от -=UncleByte=- Посмотреть сообщение
А если в случае с field для начала написать 10.field > и только потом присвоить 10.field = subtitle?
хех, пробовал и такой вариант - не выходит каменный цветок. Я вот думаю, может собака зарыта под тем, что для корневой страницы один и тот же объект указывается два раза... Хотя это же конфиг, вроде бы для одних и тех же параметров более ранние значения затираются более поздними. Однако есть у меня такая мысль, что тот же конфиг берется, и построчно выполняется? тогда не создаются ли два COA для корневой страницы?
Но с этим я потом поэкспериментирую. Это не так важно - заменил вывод из nav_title ручным вводом.
Вот такая ситуевина:
Код:
lib.mytitle = TEXT
lib.mytitle.field = title
не хочет ничего выводить, и всё тут! в том, что область разметки работает, меня убеждает такое действо:
Код:
lib.mytitle = TEXT
lib.mytitle.value = Заголовок 1
выводит в нужном месте "Заголовок 1". Вот в чем может быть загвоздка? Что я упустил из виду? В шаблоне из включений только CSS Styled Content
Вот что пишет про это поле темплавуаля для DS:
Цитата:
Заголовк страницы (field_title)

"Укажите блок заголовка"

введенное/вычисленное значение будет приведено к целому
введенное/вычисленное значение будет передано в объект html [код HTML будет отображен как есть]
введенное/вычисленное значение будет помещено в обертку

Преднастройка для элемента:
TypoScript Object Path
Позиционирование столбцов:
Normal [0]
TypoScript:

будет использована структура TS lib.mytitle, определенная внутри элемента <TypoScriptObjPath>
и для ТО
Цитата:
Локальная обработка XML:

ERROR: The input content failed XML parsing:

93 bytes

The element has no children!
Используется в: Используется в 1 элементах
Alex Podusov вне форума   Ответить с цитированием
Старый 16.04.2012, 15:20   #10
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

Ха!
Путем многочасовых перекуров и метода ненаучного тыка вывел, что в моем случае почему-то конструкция
Код:
lib.mytitle = TEXT
lib.mytitle.field = title
не работает в принципе. Рабочей оказалась только конструкция
Код:
lib.mytitle = TEXT
lib.mytitle.data = page:title
Это касается любых полей и данных, которые я пытался вытащить подобным образом. При этом: в этом конфиге
Код:
lib.localmenu = COA
lib.localmenu {
  wrap = <ul>|</ul>
  10 = TEXT
  10.value = Точка отсчета
  10.typolink.parameter.data = leveluid:0
  10.wrap = <li>|</li>
.............
в таком виде выводит указанный текст. Однако если я пишу
Код:
10.field = какое_нибудь_поле
какое бы я поле ни указал для вывода - выводит ВСЕГДА заголовок страницы. И только 10.data = page:nav_title - дало желаемый результат.
Может кто подсказать, в чем дело, что я не могу получить значение поля обычным путем, как делал это ранее?
И почему в одном месте .field = ничего не выводит в любом случае, а в COA выводит, хоть и совсем не то?

Последний раз редактировалось Alex Podusov; 16.04.2012 в 15:56
Alex Podusov вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добиться невидимости страницы для realurl? salah Общие вопросы 4 08.12.2008 16:10
Вставка HTML кода на все страницы сайта Костик Общие вопросы 2 03.12.2008 09:26
Статистика для посетителей сайта thebat TYPO3: SEO и статистика посещений 9 15.12.2007 19:59
Случайно згенерированный "id" страницы из "table=pages" в "pid_list" для "tt_news" thebat TypoScript практикум 2 29.11.2007 20:15
Свой шаблон для элементов (записей) страницы Alexey Kuzminich Общие вопросы 6 24.08.2007 05:44


Часовой пояс GMT +4, время: 21:23.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория