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

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

Ответ
 
Опции темы Опции просмотра
Старый 16.01.2006, 14:13   #1
Олег
Продвинутый
 
Регистрация: 13.02.2006
Сообщений: 49
По умолчанию Как бы вы реализовали каталог Google?

Какие модули вы бы использовали для создания каталога типа Google или Яндекс.
Главные вопросы:
1. Как сделать навигацию типа каталога Google, т. е. ссылки на следующий уровень категорий и на некоторые (особо выделенные) подуровни?
2. А если ту же информацию из иерархического каталога я хочу получить одним списком?
Использовать спец. модуль или можно отшаблонить обычное меню?

Хочется услышать любые замечания по этому поводу. Спасибо
Олег вне форума   Ответить с цитированием
Старый 16.01.2006, 21:15   #2
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию re: Как бы вы реализовали каталог Google?

Я сейчас как раз делаю такой проект - поисковая машина (nutch) + каталог.
Для каталога - варианта есть 2:

ab_linklist (Modern Linklist) - вообще нормальный и навороченный, но ссылки только в одной категории

sk_linklist - неск. категорий, но нет подсчета кликов (и вообще простоватый)


Остальные:
cmw_linklist 1 categ, clicks counter (not so good as ab_linklist)
av_otherresources (Link database) 1 categ, clicks counter
dd_links (DD Link-Catalog) - many categories, no clicks counter
tt_link 1 category



Valery Romanchev вне форума   Ответить с цитированием
Старый 17.01.2006, 15:21   #3
Олег
Продвинутый
 
Регистрация: 13.02.2006
Сообщений: 49
По умолчанию re: Как бы вы реализовали каталог Google?

Спасибо!
Видимо, буду править ab_linklist под свои запросы.
Если есть интерес можно скооперироваться
Олег вне форума   Ответить с цитированием
Старый 17.01.2006, 17:53   #4
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию re: re: Как бы вы реализовали каталог Google?

да, можно скооперироваться.
romanchev(на)typo3lab.ru
ICQ 120-145-408
Valery Romanchev вне форума   Ответить с цитированием
Старый 22.01.2006, 14:34   #5
Vaspa
Новенький
 
Регистрация: 22.11.2005
Сообщений: 11
По умолчанию re: Как бы вы реализовали каталог Google?

Сделал возможность назначать много категорий на одну ссылку в BackEnd (с деревом, как в tt_news).
Сейчас работаю над исправлением фронт-энда (4-5 запросов надо переделать).
Потом еще форму добавление ссылки переделать.

Если кто заинтеревован в тестировании - с удовольствием предоставлю этот патч.
Автор экстеншена ответил - он заинтересован.
То есть патч будет интегрирован в следующую версию, что сделает ab_linklist лучшим по всем параметрам и может быть таким же популярным как tt_news :roll:
Vaspa вне форума   Ответить с цитированием
Старый 23.01.2006, 13:42   #6
vedomir
Senior Member
 
Регистрация: 07.02.2006
Сообщений: 202
По умолчанию re: re: Как бы вы реализовали каталог Google?

C удовольствыием приму участие в тестировании.
vedomir вне форума   Ответить с цитированием
Старый 23.01.2006, 16:39   #7
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию re: re: re: Как бы вы реализовали каталог Google?


Цитата:
http://www.typo3lab.com/fileadmin/ext/
Пока не сделано добавление ссылок в FE

Есть одна проблема:
куча запросов к базе. По хорошему - это надо переписывать.
Valery Romanchev вне форума   Ответить с цитированием
Старый 23.01.2006, 18:34   #8
Олег
Продвинутый
 
Регистрация: 13.02.2006
Сообщений: 49
По умолчанию re: Как бы вы реализовали каталог Google?

Модифицировал ab_linklist, чтобы был тип представления CATALOGUE, похожий на первую страницу каталогов Яндекс и Google. Сделал опцию, чтобы задавать отличающийся тип представления для верхнего уровния иерархии и остальных. Русский перевод для FE.
Подключаю rf_content_comment для комментирования посетителями линков.

2Валерий Романчев: по аське ответа не получил

>куча запросов к базе
не понял - о чем речь. поясни, плиз
Олег вне форума   Ответить с цитированием
Старый 24.01.2006, 01:50   #9
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию re: Как бы вы реализовали каталог Google?

Цитата:
2Валерий Романчев: по аське ответа не получил
Я не получал сообщений - какой у тебя номер?

Цитата:
>куча запросов к базе
не понял - о чем речь. поясни, плиз
Когда считается количество ссылок в категории, то делается рекурсивно вызывается функция. При каждом вызове - один или два запроса к базе.
Возможно лучше сделать класс categories, один раз его инициализировать (с двумя запросами - и потом уже работать с массивами)
Valery Romanchev вне форума   Ответить с цитированием
Старый 24.01.2006, 11:53   #10
Олег
Продвинутый
 
Регистрация: 13.02.2006
Сообщений: 49
По умолчанию re: Как бы вы реализовали каталог Google?

Аська у меня 255-308-799, видимо ты не авторизовал, хотя у меня в списке есть

Про запросы - все надо делать немного иначе. Надо использовать т. н. MM-отношения, для них в typo есть даже спец определения (проще говоря это SQL JOIN). Иначе говоря, заменить такие строки:

$linksInCurrentCategoryResults = $GLOBALS['TYPO3_DB']->exec_SELECTquery( '*', $databaseTable, $theField . '=' . $GLOBALS['TYPO3_DB']->quoteStr( $theValue, $databaseTable ) . ' ' . $whereClause, $groupBy, $orderBy, $limit );

на такие

$linksCurrentCategoryResults = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( $databaseTable . '.*',
$databaseTable,
$this->tablePrefix . 'link_cat_mm',
'',
'AND ' . $this->tablePrefix . 'link_cat_mm.uid_foreign =' . $GLOBALS['TYPO3_DB']->quoteStr( $theValue, $databaseTable ) . ' ' . $whereClause, $groupBy, $orderBy, $limit
);

Запросов остается столько же - все объединение решает MySQL. Кроме запросов ничего в коде не меняется.
Ну и, естественно, в TCA.php в 'category' добавляется что-то типа:

'MM' => 'tx_ablinklist_link_cat_mm',
'autoSizeMax' => 25,
'size' => 3,
'minitems' => 0,
'maxitems' => 500
Олег вне форума   Ответить с цитированием
Ответ


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

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

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


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


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

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