Форум русской поддержки Joomla!® CMS
06.12.2016, 20:06:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Требуется обрезать introtext

 (Прочитано 455 раз)
0 Пользователей и 1 Гость смотрят эту тему.
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« : 30.09.2015, 19:02:08 »

Есть макет который отображает страницу:

Показать текстовый блок

Требуется обрезать introtext (вступительный текст) например до 50 символов, текст при этом является ссылкой:



Прошу помочь немного отредактировать макет, который взят из components/com_content/views/category/tmpl/default_articles.php
по умолчанию в нем уже есть настройки introtext. Просто пришлось идти по такому пути, не стандартно.  Если есть у кого желание помочь, буду очень благодарен.
Записан
Grigory S.
Завсегдатай
*****

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

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


(с)


« Ответ #1 : 30.09.2015, 19:06:03 »

Вам же кажется вчера подсказывали решение?
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #2 : 30.09.2015, 19:07:31 »

Можно конечно сделать так но не хочется засорять материал php + плагин:

Код:
<a href="/bankpress/02">
{source}<?php
$text = "Силуанов назвал текущий курс рубля и цены на нефть идеальными ";
$first = mb_substr($text,0,50);

echo $first;
?>{/source}
</a>
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #3 : 30.09.2015, 19:09:09 »

Вам же кажется вчера подсказывали решение?

Да тут макет другой, без модуля, текст является ссылкой, плюс вчерашнее решение не заработало. Удаленно проверяли люди из форума
Записан
Grigory S.
Завсегдатай
*****

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

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


(с)


« Ответ #4 : 30.09.2015, 19:26:26 »

Можно на jQuery, нужной ссылке добавлять например класс trim:

Код
jQuery(document).ready(function(){
    jQuery('.trim').each(function(){
var size = 8, // нужная длина
text = jQuery(this).html();
if (text.length > size) text = text.slice(0, size);
jQuery(this).html(text + '...');
    });
});
 

Код
<a href="#" class="trim">Много текста</a>
« Последнее редактирование: 30.09.2015, 20:04:11 от kamaz6141 » Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #5 : 30.09.2015, 19:29:30 »

Пару вопросов:
 Это в хед пихать?
На вчерашний вопрос тоже подействует? mod_articles_news
Записан
Grigory S.
Завсегдатай
*****

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

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


(с)


« Ответ #6 : 30.09.2015, 19:31:02 »

"Пихать" после подключения jQuery, подойдёт для любого элемента с классом trim.
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #7 : 30.09.2015, 19:31:38 »

ну у меня уже подключен квери последний
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #8 : 30.09.2015, 19:32:44 »

Вообще интересная темка! Пошел пробовать
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #9 : 30.09.2015, 19:40:07 »

За идею все равно спасибо! Но не работает. Можете убедиться, первая ссылка "Путин...."  http://web-kreditor.ru/bankpress

В хеде последний скрипт коммент. "Тест"
Записан
Grigory S.
Завсегдатай
*****

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

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


(с)


« Ответ #10 : 30.09.2015, 19:42:46 »

Имею ввиду после подключенного jQuery, а не перед. Если надо разную длину, то можно так:

Код
    	jQuery(document).ready(function(){
    jQuery('.trim').each(function(){
var defSize = 10, // дефолтная длина
     size = jQuery(this).data('trim')? jQuery(this).data('trim') : defSize,
     text = jQuery(this).html();
if (text.length > size) text = text.slice(0, size);
jQuery(this).html(text + '...');
    });
    });
 

Теперь можно указывать data- атрибут с длиной, если без то будет использоваться значение по дефолту:

Код
<a href="#" class="trim">Много текста</a>
<a href="#" class="trim" data-trim="5">Много текста</a>
<a href="#" class="trim" data-trim="15">Много текста</a>
 
Записан
Ilhom666
Живу я здесь
******

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

Сообщений: 1340



« Ответ #11 : 30.09.2015, 19:53:38 »

Можно попробовать только CSS-ом
Используем overflow
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #12 : 30.09.2015, 19:55:20 »

Можно попробовать только CSS-ом
Используем overflow
Не ну Вы пацаны ваще ребята Grin Неее
Записан
Grigory S.
Завсегдатай
*****

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

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


(с)


« Ответ #13 : 30.09.2015, 19:55:54 »

Всё отлично работает.
http://codepen.io/anon/pen/MaJrRb
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #14 : 30.09.2015, 19:57:49 »

Всё отлично работает.
http://codepen.io/anon/pen/MaJrRb

Значит у меня что-то ругается
Записан
Grigory S.
Завсегдатай
*****

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

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


(с)


« Ответ #15 : 30.09.2015, 19:59:27 »

Скопируйте код с ссылки что я дал.
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #16 : 30.09.2015, 20:01:32 »

Да да зафурычело:) А что с первым примером? Он мне больше нравиться. Спасибо. Это решение убивает 2 зайцев
Записан
Grigory S.
Завсегдатай
*****

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

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


(с)


« Ответ #17 : 30.09.2015, 20:01:47 »

Путин зая...  laugh

P.S. Для "спасибок" существует кнопочка "+"
Записан
Grigory S.
Завсегдатай
*****

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

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


(с)


« Ответ #18 : 30.09.2015, 20:03:37 »

Во втором примере вы можете задавать разную длину для нужных ссылок.
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #19 : 30.09.2015, 20:04:13 »

Путин зая...  laugh

P.S. Для "спасибок" существует кнопочка "+"

Нет проблем:)
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #20 : 30.09.2015, 20:07:15 »

Путин зая...  laugh


Я только заметил, прикол блин получился!)
Записан
R31rus
Завсегдатай
*****

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

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


«Нас Reboot, а мы крепчаем»


« Ответ #21 : 05.10.2015, 23:13:48 »

Решение на квери просто замечательное, но если увлечься этим то излишки скриптов и библиотек к хорошему не приведут:

Код:
<?php echo JString::substr($item->introtext, 0, 200).' ...'; ?>

Модер, закрывайте тему задача решена.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | 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