форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Добрый день! Возможно, вопрос уже поднимался, но поиск результатов не дал - просветите плиз. Как в тексте одной статьи дать ссылку на другую, пользуясь только ее ID? Скажем, есть некая статья, на которую нужно попадать только по такой вот рукотворной ссылке. Как выглядит permlink на нее - я не знаю, т.к. она не опубликована (и не должна быть) ни в одной секции... Может, есть какой-то тег, генерирующий ссылку на статью?
Неактивен
На неопубликованную статью попасть нельзя. Навскидку теоретические домыслы таковы: можно опубликовать ее с каким-нибудь статусом, но не показывать. Например, все статьи по-умолчанию публикуются со статусом "live", значит, если опубликовать нужную статью со статусом "hidden" и организовать вывод основных статей <txp:article status="live">, то твоя статья с этим статусом не будет показана в этом списке. Но, если сделать категорию или секцию в которой выводить статьи <txp:article status="hidden">, то твоя спрятанная статья должна быть показана.
На практике не проверял. И как мне кажется это не совсем правильное решение.
--
Глянул в документацию... можно вывести статью с определенным id, с помощью <txp:article_custom id="твое id" />, там написано - The id# of any live article. То есть любую статью со статусом "live". Поэтому тебе придется как-то избавляться от вывода в основную секцию или категорию этой статьи. К примеру опубликовать ее в никуда , не указать секцию.
Отредактированно Sergey (12-06-2006 08:44:57)
Неактивен
Это замечательно, но тег article_custom нельзя использовать в тексте статьи Нужно, чтобы редактор мог опубликовать некий материал "в никуда", а потом из текста другой статьи мог на него сослаться...
Неактивен
braindancer, я не совсем понял что значит "не должна быть опубликована ни в одной секции", т.к. все статьи относятся к секциям, и чтобы на статью можно было поставить ссылку, она также должна быть опубликована. Можно создать специальную секцию, ссылки на которую бы отсутствовали, таким образом на статьи публикуемые в нее можно было бы ставить ссылки вручную и быть уверенным, что они нигде сами автоматически не появятся.
Если нужно вывести текст статьи в тексте другой статье можно использовать плагин ied_doArticle, причем таким образом можно выводить тексты даже статей с неопубликованным статусом.
Неактивен
ОК, вариант со специальной секцией вполне устраивает. Вопрос в том, как редактор, зная только ID этой статьи, может поставить на неё ссылку в тексте другой статьи? Т.е. чтобы там после публикации появилось < a href="http://линк_на_статью" >заголовок статьи< /a > ?
Неактивен
Для этого существует старый добрый плагин zem_link. Так как автор плагина перестал его поддерживать, последнюю версию можно скачать у другого автора плагинов, который ее и обновлял: A Waste Of Words » I gave zem_link an interim home
Неактивен
Хм. Отличный плагин, спасибо - делает точно то, что требовалось. Но есть одна проблема: при повторном редактировании статьи со ссылкой редактор вырезает тег txp:zem_link, и его приходится вставлять снова Можно как-то отучить его от этой самодеятельной чистки?
Неактивен
А так не катит
<a href="mysite.com/index.php?id=25">Контакты</a>
Неактивен
Эммм. Так попробовать я почему-то не догадался... Виноват-с, дебил-с. Спасибо.
Вариант с зем-линком, правда, удобнее - не надо копировать заголовок, и в слечае его изменения впоследствии он изменится и в тексте ссылающейся статьи, - но зато тупую ссылку не вырежет cleanup при повторном редактировании... Будем думать.
Неактивен
Lesnik написал:
А так не катит
Код:
<a href="mysite.com/index.php?id=25">Контакты</a>
Катит :-))
Но более универсальней вариант, используемый в Txp-Компании:
<a href="<txp:site_url />index.php?id=25">Контакты</a>
Неактивен
А каким тегом можно имени ссылки присвоить заголовок статьи на которую ссылаемся, т.е.
<a href="mysite.com/index.php?id=25">Контакты</a> - что поставить вместо "Контакты"
может так? <txp:permlink id="25"><txp:title id="25"/></txp:permlink> - но не работает...
Кто сталкивался?
Неактивен
bobick2004 написал:
А каким тегом можно имени ссылки присвоить заголовок статьи на которую ссылаемся, т.е.
<a href="mysite.com/index.php?id=25">Контакты</a> - что поставить вместо "Контакты"
может так? <txp:permlink id="25"><txp:title id="25"/></txp:permlink> - но не работает...
Кто сталкивался?
Боюсь, что штатными средствами только так:
<txp:article_custom id="25"> <txp:permlink><txp:title /></txp:permlink> </txp:article_custom>
Неактивен
Отлично - работает
Спасибо!
froZZen ++++++++++5
Неактивен