Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   realURL vs Link Internal page (http://forum.typo3.ru/showthread.php?t=6769)

maaboo 18.09.2008 23:03

realURL vs Link Internal page
 
И ещё раз добрый вечер.

В общем делаю "Link internal page" для новостей. И хочется мне, чтобы он урлы показывал не в виде жуткой транслитерации типа:

Код HTML:

http://mysite.name/path/to/page/ochen-dlinniy-zagolovok-novosti
, а

Код HTML:

http://mysite.name/path/to/page/12
(12 - это допустим номер страницы, той самой internal page).

Но не пойму - как это прикручивается? Поделитесь мегарецептом или хорошим пинком в правильном направлении!

dmartynenko 19.09.2008 17:54

Скорее всего никак номер страницы вместо названия не получить. Так как это глобальный способ генерации page path для RealURL.

Но можно заполнять для страниц поле "Speaking URL path segment" коротким "инглиш" текстом. Тогда он будет использоваться вместо длинного русского названия страницы. Для этого в конфиге RealtURL должно быть примерно так:

Код:

'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title'

maaboo 19.09.2008 17:56

Это пока 100 записей хорошо, а вот майнтэйнить 10 или 100 тысяч страниц, проверяя на уникальность Speaking Path Segment - жопко...

dmartynenko 19.09.2008 18:04

1. Идите путем использования экста rgnewsce.
2. Используйте для page path страниц поле alias - оно проверется на уникальность автоматом.
3. Мне кажется управлять 10+ тысячами страниц, которые находятся на одной родительской... Это не правильный способ использования TYPO3 или вообще выбор не той CMS.

maaboo 19.09.2008 18:07

Цитата:

Сообщение от dmartynenko (Сообщение 21493)
3. Мне кажется управлять 10+ тысячами страниц, которые находятся на одной родительской... Это не правильный способ использования TYPO3 или вообще выбор не той CMS.

И что же предлагаете? Битрикс? :-)

Да и не надо ими особо управлять, за исключением создания и хранения...

dmartynenko 19.09.2008 19:14

Про "майнтэйнить 10 или 100 тысяч страниц" это вы для убедительности пример привели? Не похоже на ваш пример из жизни :)

Даже TYPO3 подходит не для всех задач.
Например у нас есть сайт на TYPO3 на котором показывается и полностью управляется база недвижимости с 10+ тысяч объектов. Но эта часть сделана не TYPO3-way. TYPO3 только как frontend, потому как ни типовая структура таблиц TYPO3, ни backend не подходит для эффективной работы с такой базой.

maaboo 19.09.2008 19:16

А что если для уникальности использовать дату, как на NewsRu.com?

Ну типа:

http://mysite.name/page/path/to/19sep2008/page-name

а ещё лучше

http://mysite.name/page/path/to/20080919/page-name

?

dmartynenko 19.09.2008 19:45

Тогда надо будет создать два уровня страниц - первый это страницы с названием "дата", а в них страницы с содержимым новостей.

Но pagename короткий и красивый все равно придется придумывать для каждой новости отдельно.

maaboo 19.09.2008 19:46

А просто пристегнуть без допуровней никак? городить лес деревьев никак не хочется

pomotom 19.09.2008 20:23

Посмотрите в мануалах alias_field и human readeable dates

maaboo 19.09.2008 22:21

Цитата:

Сообщение от dmartynenko (Сообщение 21502)
Про "майнтэйнить 10 или 100 тысяч страниц" это вы для убедительности пример привели? Не похоже на ваш пример из жизни :)

Пока не похоже. :-) Кто знает? Некий студент Стиви Джобс с гаража начинал. :-D

Вообще вопрос конечно интересный, ибо позиционирование тайпы, как мощной промышленной CMS, должно подразумевать, если не сейчас, то в ближайшем будущем решение подобных задач (возможно не всегда полностью средствами тайпы, но в большинстве работ).

Да и к тому же я не совсем хорошо понимаю, в чём пример с недвижимостью показателен? В чём заключалась основная работа? Каков был характер работы со страницами? Почему для фронтенда была выбрана тайпа?

maaboo 19.09.2008 22:31

Цитата:

Сообщение от pomotom (Сообщение 21512)
Посмотрите в мануалах alias_field и human readeable dates

В мануалах к realurl?

pomotom 19.09.2008 22:44

в обоих, но в осносном в ттньюс

dmartynenko 20.09.2008 20:09

Если генерить пути к самим новостям (к странице где плагин tt_news для просмотра одиночной новости) - то легко.

В линках к самим страницам - сильно сомневаюсь что стандартными средствами можно сделать.
Но TYPO3 и RealURL позволяют вставить свой PHP код в процедуру генерации пути к страницам. Этим также можно воспользоваться если очень нужно именно так организовывать новости.

dmartynenko 20.09.2008 20:40

Цитата:

Сообщение от maaboo (Сообщение 21514)
Вообще вопрос конечно интересный, ибо позиционирование тайпы, как мощной промышленной CMS, должно подразумевать, если не сейчас, то в ближайшем будущем решение подобных задач (возможно не всегда полностью средствами тайпы, но в большинстве работ).

Недавно в рассылках шло обсуждение использования TYPO3 для блогов. И даже Дмитрий Дулепов высказался за то, что для блогов лучше что-то вроде WordPress (причем имея свой блог на TYPO3).

И даже любой OpenSource форум даст большую фору всему что сделано на сегодняшний день для TYPO3.

И т.п.
Примеров масса, что для частных задач лучше использовать специальные решения.

Цитата:

Сообщение от maaboo (Сообщение 21514)
Да и к тому же я не совсем хорошо понимаю, в чём пример с недвижимостью показателен? В чём заключалась основная работа? Каков был характер работы со страницами? Почему для фронтенда была выбрана тайпа?

Выбрана потому, что все в ней остальное очень удобно, в том числе возможность писать для нее свои модули.

Но сама база не в TYPO3 потому, что там одних справочников штук 30. В некоторых из которых больше 50 тысяч записей, многие взаимосвязаны. Как с ними работать в стиле TYPO3, например через BE ?

Подход, например, аналогичен интеграции стороннего форума с TYPO3. Все форумное ПО и база отдельно, но интегрировано в сайт так, что кажется что родное.

maaboo 21.09.2008 15:49

Цитата:

Сообщение от dmartynenko (Сообщение 21523)
Если генерить пути к самим новостям (к странице где плагин tt_news для просмотра одиночной новости) - то легко.

В линках к самим страницам - сильно сомневаюсь что стандартными средствами можно сделать.
Но TYPO3 и RealURL позволяют вставить свой PHP код в процедуру генерации пути к страницам. Этим также можно воспользоваться если очень нужно именно так организовывать новости.

И сколько будет стоить такой похапе код? :-)

pomotom 21.09.2008 17:20

А он вам сильно нужен? Если вы бесплатно можете иметь
http://mysite.name/page/path/to/2008/09/19/uid
или
http://mysite.name/page/path/to/2008/09/uid
И использовать стандарные новости и помещать в них контент-элементы? (потому как хранить 10000 страниц в дереве - это уже сильно. Только если бить на очень малые ветки.)

ЗЫ. Логичнее тогда не такой код, а расширение, которое при создании страницы автоматом заполняет alias датой. Тогда не получится что страница может иметь 2 адреса.

maaboo 21.09.2008 17:36

Цитата:

Сообщение от pomotom (Сообщение 21534)
А он вам сильно нужен? Если вы бесплатно можете иметь
http://mysite.name/page/path/to/2008/09/19/uid
или
http://mysite.name/page/path/to/2008/09/uid
И использовать стандарные новости и помещать в них контент-элементы? (потому как хранить 10000 страниц в дереве - это уже сильно. Только если бить на очень малые ветки.)

ЗЫ. Логичнее тогда не такой код, а расширение, которое при создании страницы автоматом заполняет alias датой. Тогда не получится что страница может иметь 2 адреса.

Стандартные новости не очень нравятся. Ветки будут такие
Level 1 - Level 2 - Level 3
На первом - 4 страницы, на втором - под 5 подстраниц к первому уровню, и только на последнем уровне будут те самые 10.000 страниц. Хотя конечно это вопрос времени, для начала там будут сотни или десятки сотен страниц.

Почём расширение? :-) Сильно нужен. А я его потом в репозиторий закину.:-) Вдруг ещё кому будет нужен...

dmartynenko 22.09.2008 18:38

Цитата:

Сообщение от maaboo (Сообщение 21535)
Почём расширение? :-) Сильно нужен. А я его потом в репозиторий закину.:-) Вдруг ещё кому будет нужен...

Я не скажу вам сколько - заниматься этим нет ни времени, ни желания.

Я дам вам намек - в TYPO3 можно сделать hook на операцию сохранения в БД для любой таблицы, в том числе для pages. Если поищите в доках или google у вас может получиться php функция реализующая данных hook длиной в две-три строчки.

maaboo 22.09.2008 18:43

Цитата:

Сообщение от dmartynenko (Сообщение 21553)
Я не скажу вам сколько - заниматься этим нет ни времени, ни желания.

Я дам вам намек - в TYPO3 можно сделать hook на операцию сохранения в БД для любой таблицы, в том числе для pages. Если поищите в доках или google у вас может получиться php функция реализующая данных hook длиной в две-три строчки.

"Кабы я была царица..." (ц)

Кабы я был похапист - написал бы, а так - увы. Даже двух строчек не напишу (то есть напишу, но за очень большое время). Так что и мне этим заниматься нет ни времени, ни желания, мне ещё вёрстку добивать и контент. А ещё тестирование нагрузочное...

Люди!!!

dmartynenko 22.09.2008 18:47

Попробуйте обратиться в english TYPO3 maillist с этим конкретным вопросом. Думаю вам подкинут нужный код. Народу там побольше пасется.

maaboo 22.09.2008 18:49

Цитата:

Сообщение от dmartynenko (Сообщение 21556)
Попробуйте обратиться в english TYPO3 maillist с этим конкретным вопросом. Думаю вам подкинут нужный код. Народу там побольше пасется.

Да пробовал уже... :-( То ли мои сообщения не проходят, то ли игнорируют.. Понять не могу...

dmartynenko 22.09.2008 19:03

Цитата:

Сообщение от maaboo (Сообщение 21557)
Да пробовал уже... :-( То ли мои сообщения не проходят, то ли игнорируют.. Понять не могу...

Доходит, просто если вы задаете именно такой вопрос "[TYPO3] Changing behavior of RealURL with Internal link page", то вам ничего ответить кроме как "не возможно".

А есть зададите например "как заполнить автоматически поле alias значением "текущая дата" при сохранении новой страницы"... ?

maaboo 22.09.2008 19:05

Цитата:

Сообщение от dmartynenko (Сообщение 21558)
Доходит, просто если вы задаете именно такой вопрос "[TYPO3] Changing behavior of RealURL with Internal link page", то вам ничего ответить кроме как "не возможно".

А есть зададите например "как заполнить автоматически поле alias значением "текущая дата" при сохранении новой страницы"... ?

За формулировку - спасибо. Просто в прошлые разы на "невозможные" вопросы - отвечали "невозможно". Так хоть жить спокойней. :-)

dmartynenko 23.09.2008 15:09

maaboo. Читал ваш новый вопрос и дискуссию по нему в Mail List. Вы опять настолько непонятно формулируете вопрос (и не тот вопрос, имхо :) ), что в конце концов, когда те кто вам отвечает разберуться что вам нужно - вам ответят "не возможно"...

PS: Спросите по хук на сохранение записи в pages ;)

maaboo 23.09.2008 15:25

Цитата:

Сообщение от dmartynenko (Сообщение 21566)
maaboo. Читал ваш новый вопрос и дискуссию по нему в Mail List. Вы опять настолько непонятно формулируете вопрос (и не тот вопрос, имхо :) ), что в конце концов, когда те кто вам отвечает разберуться что вам нужно - вам ответят "не возможно"...

PS: Спросите по хук на сохранение записи в pages ;)

Как известно - чтобы получить правильный ответ, надо как минимум задать правильный вопрос. А это уже целая наука...

Да про хук уже видимо неактуально будет, хотя я посмотрю есть ли запрос на фичу, если не забуду конечно.

dmartynenko 23.09.2008 16:30

В тему этой ветки и ML...
Если вам нужны id страниц в page path - т.е. короткие url - то совсем по простому будет в конфиге RealURL прописать:

Код:

'segTitleFieldList' => 'tx_realurl_pathsegment,alias,uid'
Таким образом если для страницы не заполнены (вручную) поля tx_realurl_pathsegment или alias, то для page path будут браться число из uid. Вуаля - то что вам нужно!

Для русскоязычных сайтов это решение подходит в самый раз. Потому что обычно все равно заполняют одно из этих полей для красивого url, а не оставляют на транслитерацию русские заголовки страниц из title.


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

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