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

Вернуться   Russian TYPO3 community > Тематические форумы > Инструменты разработчика

Ответ
 
Опции темы Опции просмотра
Старый 21.08.2013, 09:57   #1
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию TS-Извлечь родителей раздела для нав.цепочки...

Добрый день.

Одно время пробовал сделать следующее...
Есть стрктура разделов на базе таблицы "X".

Раздел 1 >> Раздел 2 >> Раздел 3 >> Раздел 4
По ссылке /category-4/ - мы находимся в разделе 4.

И суть TS-что бы выбрать всех родителей Раздела 4...
Для создания нав.цепочки.

Пробовал как-то сделать это на TS - но чесно не получилось...
Т.к. мало извлечь родителей - нужно еще их последовательность как-то развернуть (порядок следования) развернуть.

Необходимость данного скрипта вызвана тем, что бы не создавать PHP-файл со скриптом наполнения массива для MENU itemProcFunc... А делать это все на TS.

PHP код:
lib.otherContent CONTENT
lib
.otherContent {
  
table tx_catalog_auto
  select 
{
    
pidInList 340
    
#orderBy = sorting
    
where uid 84
    
#andWhere =  uid = {REGISTER:param}
    #andWhere.insertData = 1
  
    #languageField = sys_language_uid
  
}

  
renderObj COA
  renderObj 
{
        
10 LOAD_REGISTER
        10 
{
            
            
NextUid.cObject TEXT
            NextUid
.cObject.field pelem
            NextUid
.cObject.insertData 1
            
        

        
        
#Уровень №5
        
20 TEXT
        20 
{
            
insertData 1        
            field 
title
            wrap 
=  <b> | {register:Counter}. </b><br/> > 
        }  
        
        
#Уровень №4
        
30 lib.otherContent
        30.select
.where uid = {register:NextUid}
        
30.select.where.insertData 
        
        
#Уровень №3
        
50 lib.otherContent
        50.select
.where uid = {register:NextUid}
        
50.select.where.insertData 1
        
        
#Уровень №2
        
70 lib.otherContent
        70.select
.where uid = {register:NextUid}
        
70.select.where.insertData 1
        
        
#Уровень №1
        
80 lib.otherContent
        80.select
.where uid = {register:NextUid}
        
80.select.where.insertData 1
        
        
            
  

}


#Уровень 1
lib.otherContent2 COA
lib
.otherContent2.10 lib.otherContent
lib
.otherContent2.20 TEXT
lib
.otherContent2.20.value = {register:level_5_uid}
lib.otherContent2.20.insertData 
Может кто-то такое делал...


--
Иван.
Ивано++ вне форума   Ответить с цитированием
Старый 21.08.2013, 13:20   #2
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

HMENU.special=rootline не то же самое, что вам нужно, делает?
http://typo3.org/documentation/snippets/sd/23/
dmartynenko вне форума   Ответить с цитированием
Старый 21.08.2013, 13:37   #3
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
HMENU.special=rootline не то же самое, что вам нужно, делает?
http://typo3.org/documentation/snippets/sd/23/
Так это же по идее только для таблицы pages?
Ивано++ вне форума   Ответить с цитированием
Старый 21.08.2013, 13:40   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Согласен, не внимательно прочитал ваш пост.
dmartynenko вне форума   Ответить с цитированием
Старый 21.08.2013, 14:22   #5
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию

Вот не знаю насколько это реально - но уже давно в идее...
Есть такое:

сделать hook (даже не hook а полный клон) - с cobj MENU /HMENU/TMEMU (вот этот замечательный класс class.tslib_menu.php) -
и назвать его HMENU2 TMENU2 - лишь с той раздницей...

что можно будет указывать название таблицы...
но не знаю насколько тогда данная табшица по колонкам и TCA ctrl должна быть = TCA ctrl pages...

Этакая виртуальная страничка...
В репозитории на эту тему даже есть расширение "nsb_cat2menu" - но это не полноценный аналог объекта HMENU - он может только выбрать через функцию API-TYPO3... И все...

И что дико не удобно в TMENU - объекте - это то, что есть excludeUidList - и нет ему противоположного includeOnlyUidList

Не знаю правда что из - этого выйдет...

Последний раз редактировалось Ивано++; 21.08.2013 в 14:32
Ивано++ вне форума   Ответить с цитированием
Старый 21.08.2013, 14:33   #6
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию

Посмотрел - class.tslib_menu.php

К сожалению так не пройдет...
С ним с этим классом - там слишком много всего, что заточено под именно pages ...
Ивано++ вне форума   Ответить с цитированием
Старый 21.08.2013, 14:45   #7
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Задача то тривиальная если смотреть просто как на выборку родительских записей. А в меню по страницам столько всего учитывается... ссылки, точки монтирования, права доступа и т.п.

Сделайте свой сObject и запилите там выборку

По идее, нужно только настроить задание в каком поле храниться uid родителя. И это точно не поле pid, потому что оно "page id", а не "parent id". Хотя для таблицы pages получается и то и другое одновременно.
dmartynenko вне форума   Ответить с цитированием
Старый 21.08.2013, 15:23   #8
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
Задача то тривиальная если смотреть просто как на выборку родительских записей. А в меню по страницам столько всего учитывается... ссылки, точки монтирования, права доступа и т.п.

Сделайте свой сObject и запилите там выборку

По идее, нужно только настроить задание в каком поле храниться uid родителя. И это точно не поле pid, потому что оно "page id", а не "parent id". Хотя для таблицы pages получается и то и другое одновременно.
В общем пока оставлю эту затею...
Ивано++ вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TinyMCE RTE рулит-2 (EXT: tinymce_rte) Ивано++ Инструменты разработчика 16 10.07.2013 15:12
Подойдет ли TYPO3 для информационного сайта? vold57 Вопросы выбора CMS 19 07.12.2011 00:23
Своя картинка для каждого раздела mike Общие вопросы 21 21.09.2008 01:59
Что использовать для простого каталога? cronfy Магазины и каталоги для TYPO3 4 23.05.2008 12:36
Отдельное меню для каждого раздела Lato Sergey Общие вопросы 2 01.09.2005 10:26


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


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

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