Модуль custom html на странице ошибок не отображает картинки

Тема в разделе "Ошибки при работе с Joomla", создана пользователем Realnmn, 21.05.2013.

  1. Offline

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

    Регистрация:
    30.09.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Есть сайт http://chudesa-travel.ru Смотрим в шапку сайта на лого!
    В шаблоне есть страница ошибки http://chudesa-travel.ru/index.php/123 Сравниваем шапку сайта!
    На странице ошибок модули рендерятся с помощью JModuleHelper::renderModule()
    Так вот картинки на странице ошибок приходят без начального слеша.
    <img style="width: 16px; height: 16px; float: left;" src="images/icon_clock.png" alt="">

    Атрибут src="images/icon_clock.png" должен быть src="/images/icon_clock.png"
     
    Последнее редактирование: 22.05.2013
  2.  
  3. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    смотри как у тебя в модуле создаётся тег IMG
    скорее всего ошибка в php модуля
     
  4. Offline

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

    Регистрация:
    30.09.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Модуль стандартный - HTML-код.
    И они, читаем и смотрим внимательно, работают на всех страницах, кроме страницы ошибки. Все дело в рендеринге всей страницы. При ошибке видимо в какой-то обработчик не попадает. Причем этот обработчик должен быть вызван для всех элементов, что делаются редактором. Смотрел код в базе. Ссылки на картинки хранятся именно в виде src="images/icon_clock.png".
     
  5. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    у тебя или теги JDOC неверно написаны
    или явно рендеринг страницы не происходит вообще
    это у тебя:
    а так должно быть:
    Код (html):
    1. <div class="banner">
    2. <jdoc:include style="xhtml" name="banner" type="modules" />
    3. </div>

    ни одного тега IMG вообще не нашёл
     
  6. Offline

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

    Регистрация:
    30.09.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    У меня вообще
    Код (CODE):
    1. <div class="item column-2 span4">
    2.                      <a class="brand" href="<?php echo $this->baseurl; ?>">
    3.                 <?php
    4.                 // Display position-1 modules
    5.                 $this->logo = JModuleHelper::getModules('logo');
    6.                 foreach ($this->logo as $logo)
    7.                 {
    8.                     $output = JModuleHelper::renderModule($logo, array('style' => 'xhtml', 'base_path'=>'/'));
    9.  
    10.                     echo $output;
    11.                 }
    12.                 ?>               
    13.                      </a>
    14.                     </div>


    Это страница ошибок. Она вообще рендерится вся вручную. Посмотрите в каком-нибуть шаблоне в корне error.php .
     
  7. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    если не можешь найти ошибку в кодах
    тогда сделай проще
    у тебя есть переменная
    в неё вообще хоть что есть, после редеринга?
    если есть, тогда используй функцию STR_REPLACE (нажми на название и попадёшь на русский мануал) в которой ищешь все SRC=" и заменяешь на SRC="/
     
  8. Offline

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

    Регистрация:
    30.09.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо за вариант.
    Но такой уже есть как вариант-костыль. Только через регулярки я сделал. Это не решает вопроса - какой плагин или часть джумлы после формирования ответа должна обрабатывать страницу. Поведение как плагин. Но я смотрел в них. Ничего нет.
    А в $output естественно есть модуль. Он и впечатывается в ответ эхом. Если echo комментить модуль пропрадает с вывода. Какая-то нерадостная фигня в джумле...
     
  9. Offline

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

    Регистрация:
    30.09.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Тем более, что модули еще раз повторяю - стандартные из коробки. Сторонние кстати работают НОРМАЛЬНО! Это и поразило. Но ставить сторонние ради этого просто ни к чему.
     
  10. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    тогда ответь мне на вопрос, почему у тебя в исходном коде страницы (html) такая штука как я описал в 4-м посте?
     
  11. Offline

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

    Регистрация:
    30.09.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Блин плохо истории нет как редактировал первый пост. Стандартный вызов модуля он понятен и прозрачен. Я еще раз повторяю - рендерится страница ОШИБОК! Там такой вызов вообще не работает! Вес рендеринг на этой странице происходит вручную. И почему-то для стандартного модуля картинкам не проставляется \ в начало пути к картинке. Хотя эти же модули в этих же позициях рендерятся без проблем на обычной странице.
     

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

Загрузка...