Как сделать вывод рандомных ссылок?

Статус
В этой теме нельзя размещать новые ответы.

Alex777

Постоялец
Регистрация
6 Дек 2007
Сообщения
84
Реакции
32
В общем такой вопрос: есть сайт на ~500 страниц и хочу на каждой его странице сделать рандомный вывод 3-5 ссылок на внутренние страницы. Только не просто Для просмотра ссылки Войди или Зарегистрируйся, а с анкором, и чтобы при обновлении какой-нибудь страницы там уже выводились другие ссылки. Я так понимаю это скрипт какой-то нужен...:nezn: Общий шаблон tpl имеется.
Кто подскажет как это можно осуществить?
 
На каком движке сайт? В шаблон(tpl) разве что макрос какой-то можно вставить в нужном месте и потом его заменять.
Сама реализация вывода рандомных ссылок дело несложное. Единственное, что не совсем ясно - список ссылок постоянный(т.е. можно их например в файл засунуть и оттуда дергать?) или меняется как-то динамически?
Если чего, стучи в личку, попробуем сделать.
 
Делаем список страниц:

$array = Array('index.tpl', '404.tpl', 'page1.tpl');

Открываем три проивольных страницы и выводим ссылки
shuffle($array);
for($i=0; $i<random(3,6); $i++)
{
$file=file($array);

// затем как там у тебя смотря по шаблону указаны ключевые слова, мы их достаём

$keywords=$file[0];

echo '<a href="'.$array[$i].'">'.$keywords.'</a>';
}

за синтаксис не ручаюсь.
 
На каком движке сайт? В шаблон(tpl) разве что макрос какой-то можно вставить в нужном месте и потом его заменять.
Сама реализация вывода рандомных ссылок дело несложное. Единственное, что не совсем ясно - список ссылок постоянный(т.е. можно их например в файл засунуть и оттуда дергать?) или меняется как-то динамически?
Если чего, стучи в личку, попробуем сделать.
Сайт коммерческий - движок шопа. Ссылки постоянные, можно кинуть в файл и дергать. Единственное, нужно чтобы при обновлении страницы ссылки менялись случайным образом.
 
Ок, насчет ссылок понятно. Ниже прикрепляю скрипт, который будет делать то, что нужно. Ссылки будут выводится каждый раз разные при обновлении страницы, причем без повторных.
Почему я спросил насчет движка: судя по тому, что у тебя есть шаблон(tpl), то удобно в него просто впихнуть макрос(а не php), который потом будет заменятся.
Файл с ссылками надо заполнить так
Код:
<a href="http://link">anchor</a>
<a href="http://link2">anchor2</a>
<a href="http://link3">anchor3</a>
....

PHP:
<?
 $links = file("links.txt"); //файл с сылками
 $amount = rand(3,5);//сколько нужно ссылок, мин и макс
 $delimiter = "<br />"; //разделитель ссылок, например <br />, <li>
 function is_present($item, $massiv) {
 	$flag = true;
 	foreach ($massiv as $k => $v) {
 		if ($v==$item) {
 			$flag = false;
 			break;
 		}
 	}
 	return $flag;
 }

 $numbers = array();
  while ($i<$amount) {
 	$number=$links[rand(0,count($links)-1)];
 	if (is_present($number, $numbers)) {
 		$numbers[] = $number;
 		$i++;
 	}
  }
  foreach ($numbers as $k => $v) {
 	echo $v.$delimiter;
  }

?>
 
To Alix
Попробовал вставить, выдает ошибку 500. В чем может быть проблема? Возможно бы сам разобрался, но я в этом деле не силен. (
 
To Alix
Попробовал вставить, выдает ошибку 500. В чем может быть проблема? Возможно бы сам разобрался, но я в этом деле не силен. (

Код рабочий, я проверял :)
Поэтому, проблема в его интеграции в существующий код. Расскажи поподробнее куда что вставлял, лучше с примерами файлов(под хайдом или в личку). Так будет быстрее
 
Код рабочий, я проверял :)
Поэтому, проблема в его интеграции в существующий код. Расскажи поподробнее куда что вставлял, лучше с примерами файлов(под хайдом или в личку). Так будет быстрее
В общем файл tpl открываю Frontpage-эм (т.к. в нем редактирую визуально), выбираю место куда вставить данный код (у меня например - это левая колонка, самый низ), пишу например Рандомные продукты, переключаюсь в отображение html кода и там, где мигает курсор вставляю данный код. В принципе таким образом вставлял разные коды.
Возможно ли, что у меня что-то не поддерживается? Может быть не макрос заюзать а PHP?
 
В общем файл tpl открываю Frontpage-эм (т.к. в нем редактирую визуально), выбираю место куда вставить данный код (у меня например - это левая колонка, самый низ), пишу например Рандомные продукты, переключаюсь в отображение html кода и там, где мигает курсор вставляю данный код. В принципе таким образом вставлял разные коды.
Возможно ли, что у меня что-то не поддерживается? Может быть не макрос заюзать а PHP?

Описание подробное с точки зрения пользователя, но в общем-то не дает представления что там у тебя происходит и где косячит.
Надо смотреть tpl, по-другому не получится, сорри. Если не хочешь показывать какие-то уникальные разработки/дизайн, то покажи хоть кусок этого файла :)
Php раньше вставлял в tpl? работало?
 
Описание подробное с точки зрения пользователя, но в общем-то не дает представления что там у тебя происходит и где косячит.
Надо смотреть tpl, по-другому не получится, сорри. Если не хочешь показывать какие-то уникальные разработки/дизайн, то покажи хоть кусок этого файла :)
Php раньше вставлял в tpl? работало?
Да вроде php нет, это я так, предположил, мало ли... Код отправил в личку.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху