Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Как убрать это


shelkunov

Recommended Posts

На главной в рекомендуемых отображаются товары, при наведении курсора на определённый товар отображается краткое описание, а в конце до 3-х точек отображается почему-то знак вопроса в треугольнике (если просматривать через Хром), и квадрат (если просматривать через Оперу), как от этого избавиться?

Знаю что за подобное отображение отвечает featured.tpl, но вопрос такой, что нужно сделать что бы всё нормально было?

post-8964-0-11560300-1342690576_thumb.png

Надіслати
Поділитися на інших сайтах

нужно корректировать контроллер этого модуля.

для начала попробуйте просто сохранить его в кодировке UTF-8 - иногда этого достаточно.

если нет, то придется вам выложить файл сюда.

  • +1 1
Надіслати
Поділитися на інших сайтах


Скорее всего в этом контроллере для обрезания длинны текста используется функция substr(), а для обрезания текста в юникоде нужно использовать mb_substr().

  • +1 1
Надіслати
Поділитися на інших сайтах


templater, уже пробовал в UTF-8 сохранять, не помогает!

OCProfi, используется у меня mb_substr(), так же пробовал прописывать substr(), тоже самое!

featured.tpl

<div id="notification"></div>
<div class="box">
  <div class="box-heading"><?php echo $heading_title; ?></div>
  <div class="box-content">
    <div class="box-product">
	  <?php foreach ($products as $product) { ?>
	  <div>
	    <?php if ($product['thumb']) { ?>

<div href="#" class="showhim">
	    <div class="image">
<a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" />
<div class="showme">
<div class="description_featured" style="min-height:110px;">
<?php echo "<p>".mb_substr(strip_tags(html_entity_decode($product['description'])), 0, 140)."...</p>"; ?></div>
</div></a>
<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>

<?php if ($product['price']) { ?> 
	   <div class="priced">
<ul>
<?php if (!$product['special']) { ?>
	    <li><?php echo $product['price']; ?></li>
		  <?php } else { ?>  
  <li><span class="price-new"><?php echo $product['special']; ?></span>
  <span class="price-old"><?php echo $product['price']; ?></span> </li>
 
		  <?php } ?>
<li><a onclick="addToCart('<?php echo $product['product_id']; ?>');" ><?php echo $button_cart; ?></a></li>
</ul>
</div>
	    <div style="margin-top:24px;"></div>
</div>
<div class="showme">
<?php if ($product['rating']) { ?>
	    <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
	    <?php } ?>
	    <?php } ?>

</div></div>

	    <?php } ?>
   

	   
	  </div>
	  <?php } ?>
    </div>
  </div>
</div>
Надіслати
Поділитися на інших сайтах

shelkunov

попробуйте добавить в .htaccess вот это:

php_value mbstring.internal_encoding UTF-8

проблема должна решиться.

P.S.

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

  • +1 1
Надіслати
Поділитися на інших сайтах


в коде замените строку

<?php echo "<p>".mb_substr(strip_tags(html_entity_decode($product['description'])), 0, 140)."...</p>"; ?></div>
на эту

<?php echo "<p>".mb_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 140, "UTF-8")."...</p>"; ?></div>
  • +1 1
Надіслати
Поділитися на інших сайтах


krumax, добавил, проблема к сожалению не исчезла!

templater, строку заменил, но вместо этого появилось &nb + куча багов: цена, в корзину и название товара исчезло, появляется лишь при наведении курсора + надпись Добро пожаловать в ... сдвинулось!

OCProfi, воспользовался вашим советом, то что было исчезло, но вместо этого появилось &nb, можно посмотреть по скрину.

post-8964-0-77918200-1342785067_thumb.png

Надіслати
Поділитися на інших сайтах

templater, строку заменил, но вместо этого появилось &nb + куча багов: цена, в корзину и название товара исчезло, появляется лишь при наведении курсора + надпись Добро пожаловать в ... сдвинулось!

Это появилось не вследствие моего совета, а потому что в тексте новости у вас какая-то html-конструкция, которая разрушается при сокращении новости.

Потому и появляется "&nb" - явно фрагмент " ", разъезжается верстка. Проверьте и почистите текст новости в html-режиме редактора.

P.S. Чтобы этого избежать, нужно дорабатывать контроллер, чтобы чистил код новости от мусора, не обрезал слова и т.д., но это уже другая история.

  • +1 1
Надіслати
Поділитися на інших сайтах


Господа, у меня возникла подобная проблемма на странице "все производители".

Вопросик выводится там где первая производителей.

post-20654-0-58089400-1343123029_thumb.jpg

В контроллере manufacturer.php действительно используется функция substr() в 3х местах:

foreach ($results as $result) {

if (is_numeric(utf8_substr($result['name'], 0, 1))) {

$key = '0 - 9';

} else {

$key = substr(utf8_strtoupper($result['name']), 0, 1);

}

if (!isset($this->data['manufacturers'][$key])) {

$this->data['categories'][$key]['name'] = $key;

}

'description' => substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',

Сам документ имел кодировку ANSI Поменял на UTF-8 - не помогло.

Пытался тупо менять substr на mb_substr - сайт падал. Скорее всего я коряво менял, так как с php не дружу и мог нарушить синтаксис или ещё чего нибудь.

В файл .htaccess добавил строку как советовал krumax - тоже не помогло

Помогите пожалуйста.

Надіслати
Поділитися на інших сайтах


Господа, у меня возникла подобная проблемма на странице "все производители".

Вопросик выводится там где первая производителей.

post-20654-0-58089400-1343123029_thumb.jpg

В контроллере manufacturer.php действительно используется функция substr() в 3х местах:

Сам документ имел кодировку ANSI Поменял на UTF-8 - не помогло.

Пытался тупо менять substr на mb_substr - сайт падал. Скорее всего я коряво менял, так как с php не дружу и мог нарушить синтаксис или ещё чего нибудь.

В файл .htaccess добавил строку как советовал krumax - тоже не помогло

Помогите пожалуйста.

Может у вас не включен php модуль mbstring?

Надіслати
Поділитися на інших сайтах


Спасибо конечно за подсказку, но я всё рано не понял как проверить. Что делать с этой функцией? Где и как её запустить. В адресной строке что ли набрать или как?

Я реально в этом не шарю, пытаюсь конечно разбираться, но больше интуитивно.

Надіслати
Поділитися на інших сайтах


Спасибо конечно за подсказку, но я всё рано не понял как проверить. Что делать с этой функцией? Где и как её запустить. В адресной строке что ли набрать или как?

Я реально в этом не шарю, пытаюсь конечно разбираться, но больше интуитивно.

Создайте в корне сайта временный файл ну например 111.php с содержимым

<?php. phpinfo(); ?>

После этого в браузере перейдите по адресу этого файла http://ваш_сайт/111.php

нажимаете ctrl+F и поиском пытаетесь эту самую mbstring найти на выведенной странице. Если ничего связанного с ней нет- пишете в суппорт хостинга с просьбой включить.

зы: синтаксис любой неизвестной вам функции вы можете посмотреть на php.net - там все подробно описывается и даже с примерами :)

  • +1 1
Надіслати
Поділитися на інших сайтах

kur1977, Спасибо за подробности.

Сделал как Вы сказали, дествительно mbstring - нет. Но...

У меня сейчас это дело стоит на локальном сервере. Я делаю 2 магазина 1 на OC 1.5.3 а второй на ОС 1.5.1, так вот этот глюк возник на версии 1.5.1, а на версии 1.5.3 всё нормально.

Надіслати
Поділитися на інших сайтах


kur1977

Реально я втупил. Просто мозги уже кипят. Сравнил, нашёл разницу, поправил, стало ok.

Но всё равно не зря всё это, зато теперь я знаю как вызывать phpinfo()

Спасибо.

Надіслати
Поділитися на інших сайтах


  • 1 year later...

kur1977, Спасибо за подробности.

Сделал как Вы сказали, дествительно mbstring - нет. Но...

У меня сейчас это дело стоит на локальном сервере. Я делаю 2 магазина 1 на OC 1.5.3 а второй на ОС 1.5.1, так вот этот глюк возник на версии 1.5.1, а на версии 1.5.3 всё нормально.

 

kur1977

Реально я втупил. Просто мозги уже кипят. Сравнил, нашёл разницу, поправил, стало ok.

Но всё равно не зря всё это, зато теперь я знаю как вызывать phpinfo()

Спасибо.

А поделиться с остальными участниками форума?

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.