Joomla 1.5 Как сделать подпись к баннеру

Тема в разделе "Форматирование материалов", создана пользователем сифилис, 06.01.2011.

  1. Offline

    сифилис Недавно здесь

    Регистрация:
    18.10.2010
    Сообщения:
    30
    Симпатии:
    1
    Пол:
    Женский
    Проблема в том, что не знаю как реализовать вывод дополнительного текста под картинкой к баннеру. В админке в "Менеджер баннеров" создаю новый баннер, выбираю картинку, сохраняю. Иду на сайт - картинка есть, ссылка работает, всё норм. Думаю - а как бы теперь добавить к картинке дополнительный текст снизу? Иду редактировать баннер, вижу 2 поля: "Пользовательский код" и "Описание/Примечания". Ага! Кто-то из них двоих. Сначала пишу текст в "Описание/Примечания", сохраняю, иду на сайт - нету текста. Печально :( Иду обратно редактировать баннер, пишу текст в "Пользовательский код", сохраняю. Иду на сайт - текст есть, а картинка пропала :(

    Что делать? Иду в Total Commander, нахожу, что за вывод баннера ответственнен файл modules\mod_banners\tmpl\default.php Открываю его, и что я вижу?
    Код (CODE):
    1. <div class="banneritem<?php echo $params->get( 'moduleclass_sfx' ) ?>">
    2. <?php echo modBannersHelper::renderBanner($params, $item); ?>
    3. <div class="clr"></div>
    4. </div>

    И всё. Где находится код, который отвечает за отображение баннеров? Как включить одновременное отображение картинки и пользовательского кода?
     
  2.  
  3. Offline

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

    Регистрация:
    04.08.2010
    Сообщения:
    167
    Симпатии:
    15
    Пол:
    Мужской
    Код, который отвечает за отображение баннера, скорее всего, находится в папке с модулем (которым Вы тот баннер, собственно, и выставляете). А вот с подписью баннеров необходимости как-то пока не возникало... На Джумле 1.0 вроде как можно было создавать отдельно модуль под вывод баннера, а вот насчет версии 1.5 не разбирался.
     
    сифилис нравится это.
  4. Offline

    сифилис Недавно здесь

    Регистрация:
    18.10.2010
    Сообщения:
    30
    Симпатии:
    1
    Пол:
    Женский
    Разобрался. Надо в файле modules\mod_banners\helper.php заменить
    Код (CODE):
    1. $html = str_replace( '{CLICKURL}', $link, $item->custombannercode );
    2. $html = str_replace( '{NAME}', $item->name, $html );

    на
    Код (CODE):
    1. $htmlUserCode = str_replace( '{CLICKURL}', $link, $item->custombannercode );
    2. $htmlUserCode = str_replace( '{NAME}', $item->name, $htmlUserCode );
    3. //добавлено для одновременного отображения картинки и текста
    4. $image  = '<img src="'.$baseurl.'images/banners/'.$item->imageurl.'" alt="'.JText::_('Banner').'" />';
    5. if ($item->clickurl)
    6. {
    7.     switch ($params->get( 'target', 1 ))
    8.     {
    9.         // cases are slightly different
    10.         case 1:
    11.             // open in a new window
    12.             $a = '<a href="'. $link .'" target="_blank">';
    13.             break;
    14.  
    15.         case 2:
    16.             // open in a popup window
    17.             $a = "<a href=\"javascript:void window.open('". $link ."', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\">";
    18.             break;
    19.  
    20.         default:    // formerly case 2
    21.             // open in parent window
    22.             $a = '<a href="'. $link .'">';
    23.             break;
    24.         }
    25.    
    26.     $html = $a . $image . '</a><br />' . $htmlUserCode;
    27. }
    28. else
    29. {
    30.     $html = $image . '<br />' . $htmlUserCode;
    31. }
    32. //конец добавленного блока

    То есть был тупо добавлен код следующего блока.
     
    varakuta нравится это.
  5. Offline

    сифилис Недавно здесь

    Регистрация:
    18.10.2010
    Сообщения:
    30
    Симпатии:
    1
    Пол:
    Женский
    Дополнение: а этот стандартный модуль Joomla для баннеров только 1 баннер что ли умеет показывать? На несколько у него силёнок не хватает?
     
  6. Offline

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

    Регистрация:
    04.08.2010
    Сообщения:
    167
    Симпатии:
    15
    Пол:
    Мужской
    Чего не скажу, того не скажу. Сам пользуюсь вот этим
     
  7. Offline

    сифилис Недавно здесь

    Регистрация:
    18.10.2010
    Сообщения:
    30
    Симпатии:
    1
    Пол:
    Женский
    Скажите вот ещё. В файле modules\mod_banners\tmpl\default.php есть строки
    Код (CODE):
    1. <?php if ($headerText) : ?>
    2. <div class="bannerheader"><?php echo $headerText ?></div>

    Которые, как я понимаю, отвечают за вывод заголовка модуля баннера. Я изменяю код на следующий:
    Код (CODE):
    1. <?php if ($headerText) : ?>
    2.     <div class="bannerheader"><?php
    3. // берем ссылку на объект базы данных
    4. $db =& JFactory::getDBO();
    5.  // подготовка имен
    6. $tableName  = $db->nameQuote('jos_banner');
    7. $columnName = $db->nameQuote('cid');
    8.  // строим SQL
    9. $sql = "SELECT $columnName FROM $tableName";
    10.  // предварительно устанавливаем текст запроса
    11. $db->setQuery($sql);
    12.  // выполняем запрос и в зависимости от ответа выполняем соответствующее действие
    13. if ($db->query()) {
    14.     // успешно выполнился
    15.     echo "Yes";
    16. } else {
    17.     // неудача (например, ошибка в синтаксисе SQL)
    18.     echo "No";
    19. }
    20.    
    21.     echo $headerText ?></div>

    Но вместо YES и заголовка модуля баннеров выводится только заголовок модуля баннеров, хотя в таблице jos_banner есть 2 строки. Что я делаю не так?
     
  8. Offline

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

    Регистрация:
    15.09.2012
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Я тоже столкнулся с таким вопросом. А приведенный выше код поможет доя joomla 1.7??
     

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

Загрузка...