Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 969 Просмотров
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Как ограничить название?
« : 14.05.2015, 12:02:40 »
Как ограничить название товара до определённого числа символов.
Вот сайт http://lik-astana.kz/index.php/ru/ в низу есть Последние поступления
и они выводят полное название товара.

Цитировать
Плакаты "1 декабря - День
Первого Президента",
изготовление
   

и поэтому неразбериха где 2 строки где 3 строки.
Возможно сделать

Цитировать
Плакаты "1 декабря - День
Первого Президента...

допустим так чтоб весе товары отображались в две строки    
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Как ограничить название?
« Ответ #2 : 14.05.2015, 14:42:12 »
 А какой файл отвечает за вывод.
Ковырял /html/com_virtuemart/categories/default.php но там не нашел не чего
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Re: Как ограничить название?
« Ответ #3 : 14.05.2015, 15:09:35 »
если ограничивать одной строкой то можно и средствами CSS
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Re: Как ограничить название?
« Ответ #4 : 14.05.2015, 15:27:08 »
Stasweb, вы напишите версию VM
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Re: Как ограничить название?
« Ответ #5 : 14.05.2015, 15:31:36 »
В дефолтном шаблоне должна быть такая строка - <h2><?php echo JHTML::link ($product->link, $product->product_name); ?></h2>
тут и надо обрабатывать - $product->product_name
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Как ограничить название?
« Ответ #6 : 14.05.2015, 15:33:21 »
Версия VirtueMart 2.6.16
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Re: Как ограничить название?
« Ответ #7 : 14.05.2015, 15:38:17 »
Дошло, вы не тот шаблон смотрите, это главная страница VirtueMart и шаблон находится - components\com_virtuemart\views\virtuemart\tmpl\default_products.php
если шаблон не правленный, по дефолту должно быть такое
Код
					<h3>
<?php // Product Name
echo JHTML::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id, FALSE ), $product->product_name, array ('title' => $product->product_name ) ); ?>
</h3>
вместо этого - , $product->product_name, вот с этой частью надо работать
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Re: Как ограничить название?
« Ответ #8 : 14.05.2015, 15:42:52 »
если по простому делать, то так

Код
$cut_prodname = mb_substr($product->product_name,0,30,'UTF-8');

<h3><?php echo JHTML::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id, FALSE ), $cut_prodname, array ('title' => $product->product_name ) ); ?></h3>

30 - это кол-во отображаемых символов.
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Как ограничить название?
« Ответ #9 : 14.05.2015, 16:22:31 »
отлично спасибо то что надо.
Сделал так
Код
            <h3> <?php
                    $cut_prodname = mb_substr($product->product_name,0,20,'UTF-8');
                    $end_name = '...';
                    echo JHTML::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' .
                    $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id, FALSE ),
                    $cut_prodname, array ('title' => $product->product_name ) );
                    echo $end_name;
                    ?>
            </h3>
http://card.lik-material.kz/index.php/ru/ все работает
вот только вопрос как сделать чтоб если количество символов не превышает 20-ти то $end_name не показывать
« Последнее редактирование: 14.05.2015, 16:39:27 от Stasweb »
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Re: Как ограничить название?
« Ответ #10 : 14.05.2015, 17:15:12 »
вместо
Код
<h3> 
<?php
$cut_prodname = mb_substr($product->product_name,0,20,'UTF-8');
$end_name = '...';
echo JHTML::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' .
$product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id, FALSE ),
$cut_prodname, array ('title' => $product->product_name ) );
echo $end_name;
?>
</h3>
надо так
Код
<h3> 
<?php
$cut_prodname = mb_substr($product->product_name,0,20,'UTF-8');

if (strlen($product->product_name) > 20) {
$cut_prodname .= '...';
}

echo JHTML::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' .
$product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id, FALSE ),
$cut_prodname, array ('title' => $product->product_name ) );
?>
</h3>

*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Как ограничить название?
« Ответ #11 : 15.05.2015, 07:51:11 »
Реализовал тут http://lik-astana.kz/index.php/ru/ все отлично
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести название группы покупателя в которой он находится?

Автор neGODnic

Ответов: 3
Просмотров: 825
Последний ответ 08.11.2016, 14:25:30
от neGODnic
Как ограничить количество знаков в описании?

Автор Stasweb

Ответов: 32
Просмотров: 2116
Последний ответ 30.01.2016, 11:13:58
от gartes
VirtueMart 3 как ограничить краткое описание товара

Автор Mehanick

Ответов: 3
Просмотров: 2055
Последний ответ 25.01.2016, 10:35:59
от Mehanick
Название сайта на всех стр title

Автор dj_serg

Ответов: 0
Просмотров: 703
Последний ответ 23.06.2014, 23:28:46
от dj_serg
Название страны на русском языке

Автор Иоланта

Ответов: 2
Просмотров: 1046
Последний ответ 06.05.2014, 17:34:07
от digitalphotos2