Перейти к содержанию
zloyGamer

вывод страницы без преобразований спецсимволов в HTML-сущности

Рекомендуемые сообщения

Добрый день,

подскажите как это можно исправить? или что я делаю не так:

 

в контроллере запускаю:

$this->template = 'module/my_file.tpl';
        $this->children = array(
            'common/header',
            'common/footer'
        );
$this->response->setOutput($this->render());

my_file.tpl:

<?php echo $header; ?>
& and & without echo, and <?php echo "my link with & and & kak na vblvesti?"; ?>
<?php echo $footer; ?>

а в итоге на странице получаю:

& and & without echo, and my link with & and & kak na vblvesti? 

подскажите пожалуйста как оставить текст в шаблоне и переменных без преобразований?

версия opencart 1.5.5.1.1 (3 сентября 2013)

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так много на это времени потратил...,

сначала ковырялся в url, потом выводил отладку в файл а в итоге оказалось что где то ещё глубже собака зарыта (

аж кричать хочется

post-674231-0-97584800-1383659508_thumb.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странное явление.

 

Не получилось у себя повторить. Пробовал на нескольких  версиях.

Пробуете на локали или у хостера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я локально у себя пробую, и уже скачал последнюю версию карта и все равно таже проблема ((

 

может есть какие то настройки или параметры у $this->response->setOutput($this->render()); ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорее всего  вопрос к локальному серверу.

А на чём сервер разворачивали? Здесь вопрос скорее всего не к opencart вообще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, действительно, я уже итоговый вывод перевел в файлы:

        $var1 = $this->render();
        my_writeToFile("debug_info2_compresss.txt","wb", $this->response->getCompression());
        my_writeToFile("debug_info3.txt","wb", $var1);        
        $this->response->setOutput($var1);
        
        ob_start();
        $this->response->output();
        $var2 = ob_get_contents();
        ob_end_clean();
        
        my_writeToFile("debug_info4.txt","wb", $var2);
        echo $var2;
        
        echo phpinfo();
       

в debug_info3.txt и debug_info4.txt - все нормально и & - выводится нормально (хотя в ссылках он уже заменен на & но с этим я потом буду разбираться)

а при выводе "echo $var2;" или "echo $var1;" - все равно & заменяется на &

так что вы правы, скорее всего дело где то в настройках или апача или пхп или ещё чего то...

но раньше такого не было, и у меня не один сайт на них и сейчас работает

 

подскажите пожалуйста где искать причину этой проблемы?

 

Server API: Apache 2.4 Handler Apache Lounge, Apache API Version: 20120211

PHP/5.4.8

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделайте статический html в корне сайта.

Если там беды нету, то надо копать в сторону php.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, действительно, это видимо что то апач мудрит вот что он сделал с html'кой:

<html>
<body>
& and & without echo, and <?php echo "my link with & and & kak na vblvesti?"; ?>
</body>
</html>

а в результате:

<html><head></head><body>
& and & without echo, and <!--?php echo "my link with & and & kak na vblvesti?"; ?-->

</body></html>

но тут второй амперсанд остался без изменений..

 

спасибо mpn2005, я теперь хоть знаю что надо бороться с апачем

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а может у кого есть какие идеи как это решается в апачике?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поискал, ничего не нашёл похожего.

Чтобы апач такое творил.

Очень странная картина.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я поэксперементировал ещё немного и

мне чуть плохо не стало когда фаерфокс через раз в исходном коде отображал преобразованные амперсанды в 1.html

потом я посмотрел эту же страницу в опере(11.61) - она в исходном коде все выводит нормально!! (как есть "& and &" - в коде выводит как "& and &")

так что это фаерфокс чуть в могилу меня не свел.

 

но проблема с ссылками с которой и начались проблемы так и осталась, что в опере что в фаерфоксе:

вот так например выводятся ссылки:

      <li id="dashboard"><a href="http://site1.test/admin/index.php?route=common/home&token=a04f4bae8cad24ec97ae326fd8da55cc" class="top">Панель управления</a></li>
      <li id="catalog"><a class="top">Каталог</a>
        <ul>
          <li><a href="http://site1.test/admin/index.php?route=catalog/category&token=a04f4bae8cad24ec97ae326fd8da55cc">Категории</a></li>
          <li><a href="http://site1.test/admin/index.php?route=catalog/product&token=a04f4bae8cad24ec97ae326fd8da55cc">Товары</a></li>
          <li><a href="http://site1.test/admin/index.php?route=catalog/filter&token=a04f4bae8cad24ec97ae326fd8da55cc">Фильтры</a></li>
          <li><a class="parent">Атрибуты</a>
            <ul>
              <li><a href="http://site1.test/admin/index.php?route=catalog/attribute&token=a04f4bae8cad24ec97ae326fd8da55cc">Атрибуты</a></li>
              <li><a href="http://site1.test/admin/index.php?route=catalog/attribute_group&token=a04f4bae8cad24ec97ae326fd8da55cc">Группы атрибутов</a></li>
            </ul>
          </li>

везде вместо & прописывается &

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.