Рандом модулей в одной позиции

Тема в разделе "Подбор расширений", создана пользователем Fanamura, 17.11.2007.

  1. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 094
    Симпатии:
    158
    Пол:
    Мужской
    САБЖ. Нужен модуль, который может показывать "внутри" себя другие, причем показывая их по очереди (как счетчик), а не в зависимости от раздела и т.д. Подскажите плиз.
    Нужен такой модуль, у меня где-то был, но найти не могу :(
     
  2.  
  3. Azazello
    Offline

    Azazello Недавно здесь

    Регистрация:
    24.03.2007
    Сообщения:
    190
    Симпатии:
    4
    Пол:
    Мужской
    Ответ: Рандом модулей в одной позиции

    Тогда поправь название топика, так как это уже не Рандом.
    Что-то такие мысли раньше в голову не приходили модуль для показа модулей ...хитро. Боюсь придется тебе заказывать такое чудо.
     
    Последнее редактирование: 17.11.2007
  4. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 094
    Симпатии:
    158
    Пол:
    Мужской
    Ответ: Рандом модулей в одной позиции

    Azazello, был такой...
    блин...самому писать лень
     
  5. Azazello
    Offline

    Azazello Недавно здесь

    Регистрация:
    24.03.2007
    Сообщения:
    190
    Симпатии:
    4
    Пол:
    Мужской
    Ответ: Рандом модулей в одной позиции

    Попробуй глянуть здесь http://joomlaforum.ru/index.php/topic,21561.0.html это часом не то что ищешь?
     
  6. Dead Krolik
    Offline

    Dead Krolik Недавно здесь => Cпециалист <=

    Регистрация:
    13.04.2007
    Сообщения:
    3 685
    Симпатии:
    101
    Пол:
    Мужской
    Ответ: Рандом модулей в одной позиции

    Это в статье. mosmodule не умеет в шаблоне крутиться.

    На самом деле все не так и сложно, небольшой хак функции mosLoadModules. В шаблоне в нужном месте делаем:
    Код (CODE):
    1. mosLoadModules ( 'позиция', настройка_показа ,true);

    и саму функцию фиксим (файл /includes/frontend.php)
    Код (CODE):
    1. function mosLoadModules( $position='left', $style=0, $show_random = false ) {
    2.  
    3. ...
    4.  
    5.     $allModules =& initModules();
    6.     if (isset( $GLOBALS['_MOS_MODULES'][$position] )) {
    7.         $modules = $GLOBALS['_MOS_MODULES'][$position];
    8.     } else {
    9.         $modules = array();
    10.     }
    11. //дописываем тут
    12.  
    13. if ($show_random && sizeof($modules)>0) {
    14.    
    15.     $tmp = $modules[rand(0,sizeof($modules)-1)];
    16.     $modules = array($tmp);
    17. }
    18.  
    19. //конец дописки
    20.     if (count( $modules ) < 1) {
    21.         $style = 0;
    22.     }


    Об исполнении доложить.
     
    Fanamura нравится это.
  7. Jkr
    Offline

    Jkr Группа поддержки

    Регистрация:
    04.08.2006
    Сообщения:
    464
    Симпатии:
    27
    Пол:
    Мужской
    Ответ: Рандом модулей в одной позиции

    можно делать так:
    - нужные к ротации модули запихать в позиции user1-user9 (или любые другие, например, созданные random1-random15)
    - в начале шаблона пишем: $tmp = rand(0,количество_модулей);
    - в месте вывода модулей пишем mosLoadModules ('user'.$tmp);
     
  8. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 094
    Симпатии:
    158
    Пол:
    Мужской
    Ответ: Рандом модулей в одной позиции

    Спасибо, други мои:)
     

Поделиться этой страницей

Загрузка...