Просмотр полной версии : realURL vs Link Internal page
И ещё раз добрый вечер.
В общем делаю "Link internal page" для новостей. И хочется мне, чтобы он урлы показывал не в виде жуткой транслитерации типа:
http://mysite.name/path/to/page/ochen-dlinniy-zagolovok-novosti
, а
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'
Это пока 100 записей хорошо, а вот майнтэйнить 10 или 100 тысяч страниц, проверяя на уникальность Speaking Path Segment - жопко...
dmartynenko
19.09.2008, 18:04
1. Идите путем использования экста rgnewsce.
2. Используйте для page path страниц поле alias - оно проверется на уникальность автоматом.
3. Мне кажется управлять 10+ тысячами страниц, которые находятся на одной родительской... Это не правильный способ использования TYPO3 или вообще выбор не той CMS.
3. Мне кажется управлять 10+ тысячами страниц, которые находятся на одной родительской... Это не правильный способ использования TYPO3 или вообще выбор не той CMS.
И что же предлагаете? Битрикс? :-)
Да и не надо ими особо управлять, за исключением создания и хранения...
dmartynenko
19.09.2008, 19:14
Про "майнтэйнить 10 или 100 тысяч страниц" это вы для убедительности пример привели? Не похоже на ваш пример из жизни :)
Даже TYPO3 подходит не для всех задач.
Например у нас есть сайт на TYPO3 на котором показывается и полностью управляется база недвижимости с 10+ тысяч объектов. Но эта часть сделана не TYPO3-way. TYPO3 только как frontend, потому как ни типовая структура таблиц TYPO3, ни backend не подходит для эффективной работы с такой базой.
А что если для уникальности использовать дату, как на 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 короткий и красивый все равно придется придумывать для каждой новости отдельно.
А просто пристегнуть без допуровней никак? городить лес деревьев никак не хочется
Посмотрите в мануалах alias_field и human readeable dates
Про "майнтэйнить 10 или 100 тысяч страниц" это вы для убедительности пример привели? Не похоже на ваш пример из жизни :)
Пока не похоже. :-) Кто знает? Некий студент Стиви Джобс с гаража начинал. :-D
Вообще вопрос конечно интересный, ибо позиционирование тайпы, как мощной промышленной CMS, должно подразумевать, если не сейчас, то в ближайшем будущем решение подобных задач (возможно не всегда полностью средствами тайпы, но в большинстве работ).
Да и к тому же я не совсем хорошо понимаю, в чём пример с недвижимостью показателен? В чём заключалась основная работа? Каков был характер работы со страницами? Почему для фронтенда была выбрана тайпа?
Посмотрите в мануалах alias_field и human readeable dates
В мануалах к realurl?
в обоих, но в осносном в ттньюс
dmartynenko
20.09.2008, 20:09
Если генерить пути к самим новостям (к странице где плагин tt_news для просмотра одиночной новости) - то легко.
В линках к самим страницам - сильно сомневаюсь что стандартными средствами можно сделать.
Но TYPO3 и RealURL позволяют вставить свой PHP код в процедуру генерации пути к страницам. Этим также можно воспользоваться если очень нужно именно так организовывать новости.
dmartynenko
20.09.2008, 20:40
Вообще вопрос конечно интересный, ибо позиционирование тайпы, как мощной промышленной CMS, должно подразумевать, если не сейчас, то в ближайшем будущем решение подобных задач (возможно не всегда полностью средствами тайпы, но в большинстве работ).
Недавно в рассылках шло обсуждение использования TYPO3 для блогов. И даже Дмитрий Дулепов высказался за то, что для блогов лучше что-то вроде WordPress (причем имея свой блог на TYPO3).
И даже любой OpenSource форум даст большую фору всему что сделано на сегодняшний день для TYPO3.
И т.п.
Примеров масса, что для частных задач лучше использовать специальные решения.
Да и к тому же я не совсем хорошо понимаю, в чём пример с недвижимостью показателен? В чём заключалась основная работа? Каков был характер работы со страницами? Почему для фронтенда была выбрана тайпа?
Выбрана потому, что все в ней остальное очень удобно, в том числе возможность писать для нее свои модули.
Но сама база не в TYPO3 потому, что там одних справочников штук 30. В некоторых из которых больше 50 тысяч записей, многие взаимосвязаны. Как с ними работать в стиле TYPO3, например через BE ?
Подход, например, аналогичен интеграции стороннего форума с TYPO3. Все форумное ПО и база отдельно, но интегрировано в сайт так, что кажется что родное.
Если генерить пути к самим новостям (к странице где плагин tt_news для просмотра одиночной новости) - то легко.
В линках к самим страницам - сильно сомневаюсь что стандартными средствами можно сделать.
Но TYPO3 и RealURL позволяют вставить свой PHP код в процедуру генерации пути к страницам. Этим также можно воспользоваться если очень нужно именно так организовывать новости.
И сколько будет стоить такой похапе код? :-)
А он вам сильно нужен? Если вы бесплатно можете иметь
http://mysite.name/page/path/to/2008/09/19/uid (http://mysite.name/page/path/to/20080919/page-name)
или
http://mysite.name/page/path/to/2008/09/uid (http://mysite.name/page/path/to/20080919/page-name)
И использовать стандарные новости и помещать в них контент-элементы? (потому как хранить 10000 страниц в дереве - это уже сильно. Только если бить на очень малые ветки.)
ЗЫ. Логичнее тогда не такой код, а расширение, которое при создании страницы автоматом заполняет alias датой. Тогда не получится что страница может иметь 2 адреса.
А он вам сильно нужен? Если вы бесплатно можете иметь
http://mysite.name/page/path/to/2008/09/19/uid (http://mysite.name/page/path/to/20080919/page-name)
или
http://mysite.name/page/path/to/2008/09/uid (http://mysite.name/page/path/to/20080919/page-name)
И использовать стандарные новости и помещать в них контент-элементы? (потому как хранить 10000 страниц в дереве - это уже сильно. Только если бить на очень малые ветки.)
ЗЫ. Логичнее тогда не такой код, а расширение, которое при создании страницы автоматом заполняет alias датой. Тогда не получится что страница может иметь 2 адреса.
Стандартные новости не очень нравятся. Ветки будут такие
Level 1 - Level 2 - Level 3
На первом - 4 страницы, на втором - под 5 подстраниц к первому уровню, и только на последнем уровне будут те самые 10.000 страниц. Хотя конечно это вопрос времени, для начала там будут сотни или десятки сотен страниц.
Почём расширение? :-) Сильно нужен. А я его потом в репозиторий закину.:-) Вдруг ещё кому будет нужен...
dmartynenko
22.09.2008, 18:38
Почём расширение? :-) Сильно нужен. А я его потом в репозиторий закину.:-) Вдруг ещё кому будет нужен...
Я не скажу вам сколько - заниматься этим нет ни времени, ни желания.
Я дам вам намек - в TYPO3 можно сделать hook на операцию сохранения в БД для любой таблицы, в том числе для pages. Если поищите в доках или google у вас может получиться php функция реализующая данных hook длиной в две-три строчки.
Я не скажу вам сколько - заниматься этим нет ни времени, ни желания.
Я дам вам намек - в TYPO3 можно сделать hook на операцию сохранения в БД для любой таблицы, в том числе для pages. Если поищите в доках или google у вас может получиться php функция реализующая данных hook длиной в две-три строчки.
"Кабы я была царица..." (ц)
Кабы я был похапист - написал бы, а так - увы. Даже двух строчек не напишу (то есть напишу, но за очень большое время). Так что и мне этим заниматься нет ни времени, ни желания, мне ещё вёрстку добивать и контент. А ещё тестирование нагрузочное...
Люди!!!
dmartynenko
22.09.2008, 18:47
Попробуйте обратиться в english TYPO3 maillist с этим конкретным вопросом. Думаю вам подкинут нужный код. Народу там побольше пасется.
Попробуйте обратиться в english TYPO3 maillist с этим конкретным вопросом. Думаю вам подкинут нужный код. Народу там побольше пасется.
Да пробовал уже... :-( То ли мои сообщения не проходят, то ли игнорируют.. Понять не могу...
dmartynenko
22.09.2008, 19:03
Да пробовал уже... :-( То ли мои сообщения не проходят, то ли игнорируют.. Понять не могу...
Доходит, просто если вы задаете именно такой вопрос "[TYPO3] Changing behavior of RealURL with Internal link page", то вам ничего ответить кроме как "не возможно".
А есть зададите например "как заполнить автоматически поле alias значением "текущая дата" при сохранении новой страницы"... ?
Доходит, просто если вы задаете именно такой вопрос "[TYPO3] Changing behavior of RealURL with Internal link page", то вам ничего ответить кроме как "не возможно".
А есть зададите например "как заполнить автоматически поле alias значением "текущая дата" при сохранении новой страницы"... ?
За формулировку - спасибо. Просто в прошлые разы на "невозможные" вопросы - отвечали "невозможно". Так хоть жить спокойней. :-)
dmartynenko
23.09.2008, 15:09
maaboo. Читал ваш новый вопрос и дискуссию по нему в Mail List. Вы опять настолько непонятно формулируете вопрос (и не тот вопрос, имхо :) ), что в конце концов, когда те кто вам отвечает разберуться что вам нужно - вам ответят "не возможно"...
PS: Спросите по хук на сохранение записи в pages ;)
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.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot