Подскажите, как в названии товара, кот. отображаются на главной странице магазина задать максимальное число выводимых символов?
Может это поможет http://rb.labtodo.com/page/izmenjaem-dlinu-opisanij-tovarov-v-kataloge-opencart-1505
в файле шаблона ищите переменную с названием и меняете ее на: Код: echo mb_substr( $product['name'],0,20,'utf-8' ); , $product['name'] - переменная (заменить на свою), 20 - сколько символов оставлять. Пример моего шаблона category.tpl, режет по-символьно. Другой функцией можно реализовать обрезку по словам. П.С. если надо еще после обрезки поставить ..., то: Код: echo mb_substr( $product['name'],0,20,'utf-8' )."...";
WildeRNS подскажи пожалуйста, как правильно записать условие чтобы троеточие добавлялось только к обрезанным названиям?
все разобрался сам: сначала ввел переменную, в которой задается максимальное число символов: Код: <?php $cut_symbols = 90; ?> затем проверяется условие, если число символов в названии продукта больше значения переменной $cut_symbols: Код: <?php if (mb_strlen($product['name'], 'UTF-8') > $cut_symbols) { ?> , то соответственно обрезаем название по количеству символов и добавляем в конце HTML-ное троеточие, иначе выводим название продукта целиком: Код: <div class="name"> <a href="<?php echo $product['href']; ?>"><?php echo mb_substr( $product['name'],0,$cut_symbols,'utf-8' ).' …'; ?></a> </div> <?php } else { ?> <div class="name"> <a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a> </div> <?php } ?>
а можно так: Код: <?php if( strlen( $product['name'] ) < 30 ) { echo $product['name']; } else { echo mb_substr( $product['name'],0,20,'utf-8' )."..."; } ?>
Данный код верен только для однобайтовых кодировок. Но если используется однобайтовая кодировка, зачем использовать mbstring.