Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как редактировать теги под свои нужды?

Как редактировать теги под свои нужды?


     tags, search, поиск по сайту    Все вопросы » Общие вопросы по PHP    1037

вопрос
Как сделать такое?
Здравствуйте, уважаемые!
Скажите пожалуйста, есть возможность сделать вот такое?
Вместо вывода обычных тегов на fullstory, только не переход на страницу списка тегов.
Например:
/tags/название тега/
Изменить на
/index.php?do=search&subaction=search&story=ТЕКСТПОИСКА
Скажите пожалуйста возможно ли такое реализовать?

Ответа пока нет


6 комментариев

TeraMoune
Эксперт

TeraMoune - -

Скажите пожалуйста возможно ли такое реализовать?

Да это не сложно, открываете show.full.php находите код формирующий ссылки на теги и меняете эти ссылки.

Тестовый репозиторий установки плагинов: teramoune

Студент
Юзер

Студент - -

Скажите пожалуйста. Эта часть кода отвечает за формирование?

		if( $config['allow_tags'] and $row['tags'] ) {
			
			$tpl->set( '[tags]', "" );
			$tpl->set( '[/tags]', "" );
			
			$social_tags['news_keywords'] = $row['tags'];
		
			$tags = array ();
			
			$row['tags'] = explode( ",", $row['tags'] );
			
			foreach ( $row['tags'] as $value ) {
				
				$value = trim( $value );
				$url_tag = str_replace(array("'", """, "&"), array("'", '"', "&"), $value);
				
				if( $config['allow_alt_url'] ) $tags[] = "<a href=\"" . $config['http_home_url'] . "tags/" . rawurlencode( $url_tag ) . "/\">" . $value . "</a>";
				else $tags[] = "<a href=\"$PHP_SELF?do=tags&tag=" . rawurlencode( $url_tag ) . "\">" . $value . "</a>";
			
			}
			
			$tpl->set( '{tags}', implode( $config['tags_separator'], $tags ) );
		
		} else {
			
			$tpl->set_block( "'\\[tags\\](.*?)\\[/tags\\]'si", "" );
			$tpl->set( '{tags}', "" );
		
		}

Студент
Юзер

Студент - -

Если вам не сложно. Подскажите пожалуйста, как это сделать!

TeraMoune
Эксперт

TeraMoune - -

Студент, только то, что в foreach находится.
как это сделать!

Ссылки видите ?

if( $config['allow_alt_url'] ) $tags[] = "<a href=\"" . $config['http_home_url'] . "tags/" . rawurlencode( $url_tag ) . "/\">" . $value . "</a>";
else $tags[] = "<a href=\"$PHP_SELF?do=tags&tag=" . rawurlencode( $url_tag ) . "\">" . $value . "</a>";

Берите и меняйте.

Тестовый репозиторий установки плагинов: teramoune

Студент
Юзер

Студент - -

Да я понял, что тут, но как?
Допустим я в поле тегов "Ключевые слова для облака тегов:" пишу например "Лучший фильм"
И на странице формируется тег со ссылкой https://сайт.ru/tags/Лучший фильм/
А как в этом коде отредактировать, чтобы получилось на странице теги с ссылками "/index.php?do=search&subaction=search&story=Лучший фильм"

Студент
Юзер

Студент - -

Спасибо за помощь.
Мож кому пригодиться.
engine/modules/show.full.php

foreach ( $row['tags'] as $value ) {
				
	$value = trim( $value );
	$url_tag = str_replace(array("'", """, "&"), array("'", '"', "&"), $value);
				
	if( $config['allow_alt_url'] ) $tags[] = "<a href=\"" . $config['http_home_url'] . "index.php?do=search&subaction=search&story=" . rawurlencode( $url_tag ) . "\">" . $value . "</a>";
	else $tags[] = "<a href=\"$PHP_SELF?do=tags&tag=" . rawurlencode( $url_tag ) . "\">" . $value . "</a>";
			
}

Похожие вопросы

наверх