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

Тема в разделе "Тех. вопросы", создана пользователем Alex777, 27 янв 2009.

Статус темы:
Закрыта.
  1. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    В общем такой вопрос: есть сайт на ~500 страниц и хочу на каждой его странице сделать рандомный вывод 3-5 ссылок на внутренние страницы. Только не просто http://ссылка, а с анкором, и чтобы при обновлении какой-нибудь страницы там уже выводились другие ссылки. Я так понимаю это скрипт какой-то нужен...:nezn: Общий шаблон tpl имеется.
    Кто подскажет как это можно осуществить?
     
  2. Alix

    Alix

    Регистр.:
    27 янв 2008
    Сообщения:
    234
    Симпатии:
    84
    На каком движке сайт? В шаблон(tpl) разве что макрос какой-то можно вставить в нужном месте и потом его заменять.
    Сама реализация вывода рандомных ссылок дело несложное. Единственное, что не совсем ясно - список ссылок постоянный(т.е. можно их например в файл засунуть и оттуда дергать?) или меняется как-то динамически?
    Если чего, стучи в личку, попробуем сделать.
     
    Alex777 нравится это.
  3. DelphiST

    DelphiST Писатель

    Регистр.:
    2 июн 2008
    Сообщения:
    6
    Симпатии:
    3
    Делаем список страниц:

    Открываем три проивольных страницы и выводим ссылки
    за синтаксис не ручаюсь.
     
    Alex777 нравится это.
  4. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    Сайт коммерческий - движок шопа. Ссылки постоянные, можно кинуть в файл и дергать. Единственное, нужно чтобы при обновлении страницы ссылки менялись случайным образом.
     
  5. Alix

    Alix

    Регистр.:
    27 янв 2008
    Сообщения:
    234
    Симпатии:
    84
    Ок, насчет ссылок понятно. Ниже прикрепляю скрипт, который будет делать то, что нужно. Ссылки будут выводится каждый раз разные при обновлении страницы, причем без повторных.
    Почему я спросил насчет движка: судя по тому, что у тебя есть шаблон(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;
      }

    ?>
     
    ivanov-ig и Alex777 нравится это.
  6. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    To Alix
    Попробовал вставить, выдает ошибку 500. В чем может быть проблема? Возможно бы сам разобрался, но я в этом деле не силен. (
     
  7. Alix

    Alix

    Регистр.:
    27 янв 2008
    Сообщения:
    234
    Симпатии:
    84
    Код рабочий, я проверял :)
    Поэтому, проблема в его интеграции в существующий код. Расскажи поподробнее куда что вставлял, лучше с примерами файлов(под хайдом или в личку). Так будет быстрее
     
  8. Alex777

    Alex777 Постоялец

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

    Alix

    Регистр.:
    27 янв 2008
    Сообщения:
    234
    Симпатии:
    84
    Описание подробное с точки зрения пользователя, но в общем-то не дает представления что там у тебя происходит и где косячит.
    Надо смотреть tpl, по-другому не получится, сорри. Если не хочешь показывать какие-то уникальные разработки/дизайн, то покажи хоть кусок этого файла :)
    Php раньше вставлял в tpl? работало?
     
  10. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    Да вроде php нет, это я так, предположил, мало ли... Код отправил в личку.
     
Статус темы:
Закрыта.