LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 02:57:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Как ограничить вывод текста?  (Прочитано 4411 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« : 24.09.2009, 18:35:28 »

Подскажите пожалуйста, возможно ли через CSS ограничить вывод текста? Имеется ввиду, выводится текст "BLABLA BLABLA BLABLA BLABLA" а надо чтобы он обрезался "BLABLA BLAB..."
Если это не в CSS а в PHP то как тогда?
Код:
<div style="float: right;" >
<?php echo $total_products ?>
</div>
вот то что выводит текст...
как сделать что бы выводило максимум 10 символов и после того что выведет просто ...
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #1 : 24.09.2009, 18:37:10 »

средствами CSS можно ограничить размеры блока для текста по ширине и высоте, но не кол-во символов\слов
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« Ответ #2 : 24.09.2009, 18:38:27 »

а как можно ограничить вывод текста?
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #3 : 24.09.2009, 18:39:04 »

а как можно ограничить вывод текста?
в php использовать mb_substr либо вариации для более гибкого управления выводом
Код
<?php 
$total_products = mb_substr($total_products, '0', '10');
echo $total_products.'...';
?>
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« Ответ #4 : 24.09.2009, 18:41:38 »

Если можно? Пожалуйста, пример... из приведенного ниже кода.
Код:
<div style="float: right;" >
<?php echo $total_products ?>
</div>
так я в ПХП не силен совсем.
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #5 : 24.09.2009, 18:44:23 »

Если можно? Пожалуйста, пример... из приведенного ниже кода.
см. предыдущий пост
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« Ответ #6 : 24.09.2009, 19:04:00 »

Извините не заметил... попробовал предложенное и... получилось что три точки просто вывелись после слова Product...
Наверно что бы было более правильно я поясню что это модуль от VirtueMart, файл minicart.tpl.php
Ниже скрин того что имею...
Второй скрин того что получилось
И третий то что хочется сделать...


* 1.jpg (28.69 Кб, 230x178 - просмотрено 119 раз.)

* 2.jpg (30.22 Кб, 235x172 - просмотрено 128 раз.)

* 3.jpg (26.25 Кб, 230x178 - просмотрено 119 раз.)
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #7 : 24.09.2009, 19:12:24 »

вы скажите толком что сделать надо, приведите пример строки и как она должна выглядеть после операции. Приведенный мной пример обрезает первые 10 символов (включая первый и последний)
Справка по функции здесь http://ua.php.net/mb_substr
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« Ответ #8 : 24.09.2009, 19:18:15 »

На первом скрине показано как выглядит сейчас а на третьем как хотелось бы. Так как нименования многих товаров слишком длинные и портят внешний вид самой корзины.
прикрепляю сам файл но знаю точно что строчки с наименованием товара выводит именно эта строка...
Код:
<?php echo $total_products ?>
Сходил сюда http://ua.php.net/mb_substr ... все равно что в космос слетал... честно, не символа там не понял...

* minicart.tpl.php.zip (0.86 Кб - загружено 41 раз.)
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #9 : 24.09.2009, 19:26:00 »

Товарищ дорогой - мне очень весело вклядываться в скриншоты и искать где там что
Я прошу - пример строки которую нужно обрезать и по какому принципу. Какая переменная отвечает за вывод того-иного элемента - знать не знаю

Сходил сюда http://ua.php.net/mb_substr ... все равно что в космос слетал... честно, не символа там не понял...
Знание английского никогда не мешает и всегда под рукой есть http://translate.google.com
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« Ответ #10 : 24.09.2009, 19:40:34 »

Я очень извиняюсь но видемо чего-то не до понимаю....  Cry
Выводит строку "Sony VAIO VGN-CS31MR/W White (CS31MR/W)"
О нужно что бы "Sony VAIO ..."
Что бы не выводил все, а только 10 символов

Код:
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

if($empty_cart) { ?>
   
    <div style="margin: 0 auto;">
    <?php if(!$vmMinicart) { ?>
        <a href="http://virtuemart.net/" target="_blank">
        <img src="<?php echo $mm_action_url ?>components/com_virtuemart/shop_image/ps_image/menu_logo.gif" alt="VirtueMart" width="80" border="0" /></a>
        <br />
    <?php }
    echo $VM_LANG->_('PHPSHOP_EMPTY_CART')?>
    </div>
<?php }
else {
    // Loop through each row and build the table
    foreach( $minicart as $cart ) {

foreach( $cart as $attr => $val ) {
// Using this we make all the variables available in the template
// translated example: $this->set( 'product_name', $product_name );
$this->set( $attr, $val );
}
        if(!$vmMinicart) { // Build Minicart
            ?>
            <div style="float: left;">
            <?php echo $cart['quantity'] ?>&nbsp;x&nbsp;<a href="<?php echo $cart['url'] ?>"><?php echo $cart['product_name'] ?></a>
            </div>
            <div style="float: right;">
            <?php echo $cart['price'] ?>
            </div>
            <br style="clear: both;" />
            <?php echo $cart['attributes'];
        }
    }
}
if(!$vmMinicart) { ?>
    <hr style="clear: both;" />
<?php } ?>
<div style="float: right;" >
<?php echo $total_products ?>
</div><br>
<div style="float: right;">
<?php echo $total_price ?>
</div>
<?php if (!$empty_cart && !$vmMinicart) { ?>
    <br/><br style="clear:both" /><div align="center">
    <?php echo $show_cart ?>
    </div><br/>

<?php }
echo $saved_cart;
?>
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #11 : 24.09.2009, 19:45:43 »

Насколько я понял, то $total_products это кол-во продуктов в корзине, а вам нужно работать с элементом массива $cart['product_name'] (который внутри цикла foreach)
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« Ответ #12 : 24.09.2009, 19:57:18 »

Огромное спасибо! Получилось!
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« Ответ #13 : 25.09.2009, 00:21:12 »

А возможно ли что бы выводило не по количеству знаков а по количеству строк? скажем 2 строки максимум... как такое можно сделать?
P.S. это уже в другом файле но тоже вывод наименования товара

Код:
<?php echo $product_name ?>
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #14 : 25.09.2009, 01:00:56 »

нет, по строкам нельзя (в переменной то никак не отследить кол-во строк)
Можно ограничить по кол-ву символов но выводить только целиком поместившиеся слова (чтобы не обрывалось посередине слова)
Код
$string = $cart['product_name'];
echo substr(strip_tags($string), 0, strpos(strip_tags($string), ' ', 25)).'...';
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 204



« Ответ #15 : 25.09.2009, 01:14:57 »

+
И снова! Огромнейшее спасибо!
Работает!
Записан
dnz
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #16 : 29.11.2010, 00:05:15 »

Ребята, а можно сделать так, чтобы в корзине выходило не ""товары, а Товаров: ""?
Записан
Djeak
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 14


« Ответ #17 : 19.01.2011, 16:30:56 »

Здравствуйте.
Есть шаблон, в котором контент по задумки дизайнера должен выовдится на фоне в виде раскрывающегося блокнота(слева страница, справа страница, а по середине пружинки).
Возможно ли сделать так, чтобы часть контента выводилась на одной страницы блокнота, часть на другой.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet