Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
16.01.2006, 14:13 | #1 |
Продвинутый
Регистрация: 13.02.2006
Сообщений: 49
|
Как бы вы реализовали каталог Google?
Какие модули вы бы использовали для создания каталога типа Google или Яндекс.
Главные вопросы: 1. Как сделать навигацию типа каталога Google, т. е. ссылки на следующий уровень категорий и на некоторые (особо выделенные) подуровни? 2. А если ту же информацию из иерархического каталога я хочу получить одним списком? Использовать спец. модуль или можно отшаблонить обычное меню? Хочется услышать любые замечания по этому поводу. Спасибо |
16.01.2006, 21:15 | #2 |
Administrator
|
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 |
17.01.2006, 15:21 | #3 |
Продвинутый
Регистрация: 13.02.2006
Сообщений: 49
|
re: Как бы вы реализовали каталог Google?
Спасибо!
Видимо, буду править ab_linklist под свои запросы. Если есть интерес можно скооперироваться |
17.01.2006, 17:53 | #4 |
Administrator
|
re: re: Как бы вы реализовали каталог Google?
да, можно скооперироваться.
romanchev(на)typo3lab.ru ICQ 120-145-408 |
22.01.2006, 14:34 | #5 |
Новенький
Регистрация: 22.11.2005
Сообщений: 11
|
re: Как бы вы реализовали каталог Google?
Сделал возможность назначать много категорий на одну ссылку в BackEnd (с деревом, как в tt_news).
Сейчас работаю над исправлением фронт-энда (4-5 запросов надо переделать). Потом еще форму добавление ссылки переделать. Если кто заинтеревован в тестировании - с удовольствием предоставлю этот патч. Автор экстеншена ответил - он заинтересован. То есть патч будет интегрирован в следующую версию, что сделает ab_linklist лучшим по всем параметрам и может быть таким же популярным как tt_news :roll: |
23.01.2006, 13:42 | #6 |
Senior Member
Регистрация: 07.02.2006
Сообщений: 202
|
re: re: Как бы вы реализовали каталог Google?
C удовольствыием приму участие в тестировании.
|
23.01.2006, 16:39 | #7 | |
Administrator
|
re: re: re: Как бы вы реализовали каталог Google?
Цитата:
Есть одна проблема: куча запросов к базе. По хорошему - это надо переписывать. |
|
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 | ||
Administrator
|
re: Как бы вы реализовали каталог Google?
Цитата:
Цитата:
Возможно лучше сделать класс categories, один раз его инициализировать (с двумя запросами - и потом уже работать с массивами) |
||
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 |