![]() |
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 Но не пойму - как это прикручивается? Поделитесь мегарецептом или хорошим пинком в правильном направлении! |
Скорее всего никак номер страницы вместо названия не получить. Так как это глобальный способ генерации page path для RealURL.
Но можно заполнять для страниц поле "Speaking URL path segment" коротким "инглиш" текстом. Тогда он будет использоваться вместо длинного русского названия страницы. Для этого в конфиге RealtURL должно быть примерно так: Код:
'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title' |
Это пока 100 записей хорошо, а вот майнтэйнить 10 или 100 тысяч страниц, проверяя на уникальность Speaking Path Segment - жопко...
|
1. Идите путем использования экста rgnewsce.
2. Используйте для page path страниц поле alias - оно проверется на уникальность автоматом. 3. Мне кажется управлять 10+ тысячами страниц, которые находятся на одной родительской... Это не правильный способ использования TYPO3 или вообще выбор не той CMS. |
Цитата:
Да и не надо ими особо управлять, за исключением создания и хранения... |
Про "майнтэйнить 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 ? |
Тогда надо будет создать два уровня страниц - первый это страницы с названием "дата", а в них страницы с содержимым новостей.
Но pagename короткий и красивый все равно придется придумывать для каждой новости отдельно. |
А просто пристегнуть без допуровней никак? городить лес деревьев никак не хочется
|
Посмотрите в мануалах alias_field и human readeable dates
|
Цитата:
Вообще вопрос конечно интересный, ибо позиционирование тайпы, как мощной промышленной CMS, должно подразумевать, если не сейчас, то в ближайшем будущем решение подобных задач (возможно не всегда полностью средствами тайпы, но в большинстве работ). Да и к тому же я не совсем хорошо понимаю, в чём пример с недвижимостью показателен? В чём заключалась основная работа? Каков был характер работы со страницами? Почему для фронтенда была выбрана тайпа? |
Цитата:
|
в обоих, но в осносном в ттньюс
|
Если генерить пути к самим новостям (к странице где плагин tt_news для просмотра одиночной новости) - то легко.
В линках к самим страницам - сильно сомневаюсь что стандартными средствами можно сделать. Но TYPO3 и RealURL позволяют вставить свой PHP код в процедуру генерации пути к страницам. Этим также можно воспользоваться если очень нужно именно так организовывать новости. |
Цитата:
И даже любой OpenSource форум даст большую фору всему что сделано на сегодняшний день для TYPO3. И т.п. Примеров масса, что для частных задач лучше использовать специальные решения. Цитата:
Но сама база не в TYPO3 потому, что там одних справочников штук 30. В некоторых из которых больше 50 тысяч записей, многие взаимосвязаны. Как с ними работать в стиле TYPO3, например через BE ? Подход, например, аналогичен интеграции стороннего форума с TYPO3. Все форумное ПО и база отдельно, но интегрировано в сайт так, что кажется что родное. |
Цитата:
|
А он вам сильно нужен? Если вы бесплатно можете иметь
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 страниц. Хотя конечно это вопрос времени, для начала там будут сотни или десятки сотен страниц. Почём расширение? :-) Сильно нужен. А я его потом в репозиторий закину.:-) Вдруг ещё кому будет нужен... |
Цитата:
Я дам вам намек - в TYPO3 можно сделать hook на операцию сохранения в БД для любой таблицы, в том числе для pages. Если поищите в доках или google у вас может получиться php функция реализующая данных hook длиной в две-три строчки. |
Цитата:
Кабы я был похапист - написал бы, а так - увы. Даже двух строчек не напишу (то есть напишу, но за очень большое время). Так что и мне этим заниматься нет ни времени, ни желания, мне ещё вёрстку добивать и контент. А ещё тестирование нагрузочное... Люди!!! |
Попробуйте обратиться в english TYPO3 maillist с этим конкретным вопросом. Думаю вам подкинут нужный код. Народу там побольше пасется.
|
Цитата:
|
Цитата:
А есть зададите например "как заполнить автоматически поле alias значением "текущая дата" при сохранении новой страницы"... ? |
Цитата:
|
maaboo. Читал ваш новый вопрос и дискуссию по нему в Mail List. Вы опять настолько непонятно формулируете вопрос (и не тот вопрос, имхо :) ), что в конце концов, когда те кто вам отвечает разберуться что вам нужно - вам ответят "не возможно"...
PS: Спросите по хук на сохранение записи в pages ;) |
Цитата:
Да про хук уже видимо неактуально будет, хотя я посмотрю есть ли запрос на фичу, если не забуду конечно. |
В тему этой ветки и ML...
Если вам нужны id страниц в page path - т.е. короткие url - то совсем по простому будет в конфиге RealURL прописать: Код:
'segTitleFieldList' => 'tx_realurl_pathsegment,alias,uid' Для русскоязычных сайтов это решение подходит в самый раз. Потому что обычно все равно заполняют одно из этих полей для красивого url, а не оставляют на транслитерацию русские заголовки страниц из title. |
Часовой пояс GMT +4, время: 11:03. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot