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

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Требуется обрезать introtext
« : 30.09.2015, 18:02:08 »
Есть макет который отображает страницу:

Спойлер
[свернуть]

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



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

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Требуется обрезать introtext
« Ответ #1 : 30.09.2015, 18:06:03 »
Вам же кажется вчера подсказывали решение?
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #2 : 30.09.2015, 18:07:31 »
Можно конечно сделать так но не хочется засорять материал php + плагин:

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

echo $first;
?>{/source}
</a>
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #3 : 30.09.2015, 18:09:09 »
Вам же кажется вчера подсказывали решение?

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

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Требуется обрезать introtext
« Ответ #4 : 30.09.2015, 18:26:26 »
Можно на jQuery, нужной ссылке добавлять например класс trim:

Код: javascript
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 + '...');
     });
});

Код: html4strict
<a href="#" class="trim">Много текста</a>
« Последнее редактирование: 30.09.2015, 19:04:11 от kamaz6141 »
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #5 : 30.09.2015, 18:29:30 »
Пару вопросов:
 Это в хед пихать?
На вчерашний вопрос тоже подействует? mod_articles_news
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Требуется обрезать introtext
« Ответ #6 : 30.09.2015, 18:31:02 »
"Пихать" после подключения jQuery, подойдёт для любого элемента с классом trim.
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #7 : 30.09.2015, 18:31:38 »
ну у меня уже подключен квери последний
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #8 : 30.09.2015, 18:32:44 »
Вообще интересная темка! Пошел пробовать
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #9 : 30.09.2015, 18:40:07 »
За идею все равно спасибо! Но не работает. Можете убедиться, первая ссылка "Путин...."  http://web-kreditor.ru/bankpress

В хеде последний скрипт коммент. "Тест"
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Требуется обрезать introtext
« Ответ #10 : 30.09.2015, 18:42:46 »
Имею ввиду после подключенного jQuery, а не перед. Если надо разную длину, то можно так:

Код: javascript
    	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- атрибут с длиной, если без то будет использоваться значение по дефолту:

Код: html4strict
<a href="#" class="trim">Много текста</a>
<a href="#" class="trim" data-trim="5">Много текста</a>
<a href="#" class="trim" data-trim="15">Много текста</a>
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Re: Требуется обрезать introtext
« Ответ #11 : 30.09.2015, 18:53:38 »
Можно попробовать только CSS-ом
Используем overflow
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #12 : 30.09.2015, 18:55:20 »
Можно попробовать только CSS-ом
Используем overflow
Не ну Вы пацаны ваще ребята ;D Неее
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Требуется обрезать introtext
« Ответ #13 : 30.09.2015, 18:55:54 »
Всё отлично работает.
http://codepen.io/anon/pen/MaJrRb
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #14 : 30.09.2015, 18:57:49 »
Всё отлично работает.
http://codepen.io/anon/pen/MaJrRb

Значит у меня что-то ругается
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Требуется обрезать introtext
« Ответ #15 : 30.09.2015, 18:59:27 »
Скопируйте код с ссылки что я дал.
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #16 : 30.09.2015, 19:01:32 »
Да да зафурычело:) А что с первым примером? Он мне больше нравиться. Спасибо. Это решение убивает 2 зайцев
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Требуется обрезать introtext
« Ответ #17 : 30.09.2015, 19:01:47 »
Путин зая...  :laugh:

P.S. Для "спасибок" существует кнопочка "+"
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Требуется обрезать introtext
« Ответ #18 : 30.09.2015, 19:03:37 »
Во втором примере вы можете задавать разную длину для нужных ссылок.
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #19 : 30.09.2015, 19:04:13 »
Путин зая...  :laugh:

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

Нет проблем:)
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #20 : 30.09.2015, 19:07:15 »
Путин зая...  :laugh:


Я только заметил, прикол блин получился!)
*

R31rus

  • Давно я тут
  • 632
  • 4 / 0
Re: Требуется обрезать introtext
« Ответ #21 : 05.10.2015, 22:13:48 »
Решение на квери просто замечательное, но если увлечься этим то излишки скриптов и библиотек к хорошему не приведут:

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

Модер, закрывайте тему задача решена.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Составить SQL запрос скопировать `introtext` в`metadesc`

Автор malexv

Ответов: 8
Просмотров: 576
Последний ответ 05.04.2021, 19:52:52
от malexv
Не могу найти заголовок материалов категории! Требуется помощь!

Автор kiev

Ответов: 13
Просмотров: 497
Последний ответ 09.02.2021, 13:59:17
от kiev
introtext вместо category description layout List All Categories

Автор anysquare

Ответов: 2
Просмотров: 778
Последний ответ 23.01.2020, 00:09:35
от anysquare
&lt;?php echo $this-&gt;item-&gt;introtext;?&gt; в blog_style_default_item_title.php

Автор anatolij

Ответов: 8
Просмотров: 762
Последний ответ 12.12.2017, 18:58:46
от anatolij
Бывалые, требуется совет по верстке. Поставить плагин или в ручную адаптировать?

Автор Zhanadil1509

Ответов: 3
Просмотров: 817
Последний ответ 28.10.2017, 20:03:00
от AdWeb