Как получить короткую ссылку?
Всем привет! ))
Многим известно, что страницы топиков на базе движка LS можно открыть как по обычной ссылке site.ru/blog/0011.html, так и по короткой ссылке site.ru/0011.html
И здесь как раз таки назревает вопрос: Каким образом можно получить эту короткую ссылку так, чтобы ее можно было вывести в шаблоне?
То есть я так понимаю, что можно взять полную ссылку и добавить регулярные выражения для того, чтобы удалить все лишнее от нее, но, к сожалению, не владею регулярками, а все поиски решения не увенчались успехом. Или же есть более простое и элегантное решение этого вопроса? :) Хотя если нет, то как это можно решить с рег. вырами!?
Заранее признателен за ответы ))
UPD1: на данный момент вопрос решен 2-мя вариантами. Оба они, конечно не являются конечными и… эм… элегантными )) Но как варианты, возможны. Один из них просто в самом шаблоне прописать {cfg name='path.root.web'}/{$oTopic->getId()}.html
Второй вариант — livestreet.ru/blog/5077.html#comment75637
UPD2: В процессе возникла мысль вообще отказаться от длинных ссылок и сделать все ссылки на топики — короткими. В идеале, конечно, сделать это как это решено в любых сервисах, укорачивающих ссылки, то есть сделать все как предлагал Covax — livestreet.ru/YhsHGd (http://livestreet.ru/blog/wishlist/4552.html) С одной лишь разницей, что все ссылки будут именно такими, а не только укорачивание ссылки, которая будет просто вести на полную ссылку статьи.
Подскажите, пожалуйста, каким образом возможно реализовать это?
Многим известно, что страницы топиков на базе движка LS можно открыть как по обычной ссылке site.ru/blog/0011.html, так и по короткой ссылке site.ru/0011.html
И здесь как раз таки назревает вопрос: Каким образом можно получить эту короткую ссылку так, чтобы ее можно было вывести в шаблоне?
То есть я так понимаю, что можно взять полную ссылку и добавить регулярные выражения для того, чтобы удалить все лишнее от нее, но, к сожалению, не владею регулярками, а все поиски решения не увенчались успехом. Или же есть более простое и элегантное решение этого вопроса? :) Хотя если нет, то как это можно решить с рег. вырами!?
Заранее признателен за ответы ))
UPD1: на данный момент вопрос решен 2-мя вариантами. Оба они, конечно не являются конечными и… эм… элегантными )) Но как варианты, возможны. Один из них просто в самом шаблоне прописать {cfg name='path.root.web'}/{$oTopic->getId()}.html
Второй вариант — livestreet.ru/blog/5077.html#comment75637
UPD2: В процессе возникла мысль вообще отказаться от длинных ссылок и сделать все ссылки на топики — короткими. В идеале, конечно, сделать это как это решено в любых сервисах, укорачивающих ссылки, то есть сделать все как предлагал Covax — livestreet.ru/YhsHGd (http://livestreet.ru/blog/wishlist/4552.html) С одной лишь разницей, что все ссылки будут именно такими, а не только укорачивание ссылки, которая будет просто вести на полную ссылку статьи.
Подскажите, пожалуйста, каким образом возможно реализовать это?
5 комментариев
\classes\modules\topic\entity\Topic.entity.class.php
Как пример добавьте туда
и в templates\skin\new\topic_list.tpl в 15 строке замените {$oTopic->getUrl()} на {$oTopic->getCutUrl()}
Получите вместо _http://livestreet.ru/blog/5077.html следующее _http://livestreet.ru/5077.html
Сейчас попробую этот вариант.
А что касаемо постов в общих блогах? Каким образом там можно выдернуть ссылку короткую? Ведь там идет полная ссылка уже как site.ru/blog/nameofblog/123.html
Если сравнить getUrl() и getCutUrl() то можно заметить что собственно в getCutUrl() просто вырезана GetPath('blog') которая собственно и есть /blog/ в ссылке
Что нужно подкрутить так, чтобы выводило ссылку полностью вместе с доменом?
Безусловно все можно сделать вкривь и вкось, через простое изменение шаблона, простым написанием такой вещи:
{cfg name='path.root.web'}/{$oTopic->getId()}.html
То есть все работает, но как то это не совсем правильно… хотя, как вариант имеет место быть :)
Пока думал как сделать это все более правильно, подумал над тем, а зачем вообще нужно дополнение .html в ссылках? Не только в коротких, но и вообще. То есть возможно ли на уровне движка вообще сделать ссылки автоматически короткими. То есть чтобы статьи по умолчанию открывались как site.ru/123
То есть без названий блогов и всего прочего в ссылках. Укоротить ссылки по максимуму на уровне движка.
Не знаете ли вы каким образом можно совершить подобное?
Нашел только вот такой вот пост по теме livestreet.ru/blog/questions/2689.html
Но так и не сумел добиться результата (((