Перейти к содержимому


- - - - -

Как перелинковать внутренние страницы следующим образом?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 misha_2002

misha_2002

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 01.09.2009, 11:17

Доброе время суток.

Есть сайт с такой структурой:

Главная страница ->Разделы->Конечные страницы.

Например:
Прикрепленный файл  pic.gif   572байт   9 Количество загрузок:
То есть «главная» ссылается на «раздел 1» и «разел 2». А «Раздел 1» ссылается на «страница 1»,  «страница 2» и «страница 3».


Задача:
Выводить на конченых страницах, ссылки на страницы текущего раздела.

То есть, как сделать так чтобы «страница 1» ссылалась на «страницу 2» и «страницу 3»,
«страница 2» на «страницу 1» и «страницу 3», а «страница 3» на «страницу 1» и «страницу 2»?

Как это может реализовать автоматически?

Сами ссылки нужно выводить после текста страницы, например, в списке.

#2 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 07.09.2009, 09:03

Для этого потребуется написать свой кусочек PHP-кода в шаблоне (или создать свою функцию для ее последующего использования).

Например:

<?php
$current_uri = $this->zpage->getPagepath();
$menuitem = zengine::zsource()->getMenu()->find($current_uri);
$parent = $menuitem->getParent();

if ($parent) {
	foreach ($parent as $child) {
		if ($child->uri == $current_uri) {
			continue;
		}
					
		/* @var $page zpage */
		$page = zpage::load($child->uri);
		$description = $page->getDescription();
		if (empty($description)) {
			$description = strip_tags(substr(ltrim($page->getBody(), " \n"), 0, strpos($page->getBody(), "\n")));
		}
		echo '<p><a href="' . $page->getLink() . '">' . $page->getTitle() . '</a><br /><small>' . $description . '</small></p>';
	}
}
?>


#3 misha_2002

misha_2002

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 07.09.2009, 13:32

Работает, спасибо.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей