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

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Всем добрый вечер! Как все вы знаете на страницах категорий магазина, если макет вывода товаров настроен в несколько столбцов, высота товаров получается разной и это совсем не смотрится. Красиво и удобно, когда все части находятся на одной линии - заголовок, фото, цена, кратк. описание и характеристики.

С кратким описанием как раз самый большой бич, так как прочие элементы выводить в одну линию не проблема. Делать идентичные и точные по количеству символов описание - это мазохизм, наверное. И тут обрезание по количеству символов просто спасает.

Погуглив решение под ЖШ найти не удалось, поэтому пришлось немного напрячь извилины, но задуманное все таки получилось реализовать. Решил поделится, думаю, это многим должно пригодится.

Собственно, решение:

1. В файле components/com_jshopping/templates/default/list_products/product.php, а лучше делать через переопределение templates/шаблон/html/com_jshopping/list_products/product.php находим:

Код
<?php print $product->short_description?>

2. Меняем на это:

Код
<?php $string = $product->short_description;
echo JString::substr($string,0,165);
$result = iconv("windows-1251","utf-8", $result);
echo $result;
if($result!=$string)echo'...';
?>

Все! Обрезание заканчивается троеточием.

По этому примеру можно обрезать и заголовки, и в модулях товаров этот вариант тоже работает. Буду рад, если это кому-то поможет и сэкономит время :-)

Обновление! error648398, предложил более краткий работающий вариант кода, за что ему благодарность!
Код
<?php print mb_substr( $product->short_description, 0, 165).'...';?>
Обновление №2! Оказывается, что последний вариант кода может не работать, если на хостинге нет mb_substr. Вариант в JString::substr более универсальным.

Код
<?php print JString::substr($product->short_description, 0, 170).'...';?>

dmitry_stas, Вам благодарность за пояснение!
« Последнее редактирование: 08.09.2015, 08:39:32 от Good_user »
*

error648398

  • Захожу иногда
  • 168
  • 21 / 0
Как вы решили проблему оформления короткого описания тегами ?
Да и код можно намного сильнее сократить, да и решение вы плохо гуглили.
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Как вы решили проблему оформления короткого описания тегами ?
Да и код можно намного сильнее сократить, да и решение вы плохо гуглили.
выкладывайте решение.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

error648398

  • Захожу иногда
  • 168
  • 21 / 0
выкладывайте решение.
Решить проблему с оформлением я не знаю, код можно сократить до:
<?php print mb_substr( $product->short_description, 0, 165).'...';?>
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Решить проблему с оформлением я не знаю....
что имеется ввиду под оформлением ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

error648398

  • Захожу иногда
  • 168
  • 21 / 0
что имеется ввиду под оформлением ?
Ну например человек заходит в описание товара и через редактор TinyMCE, придает оформление короткому описанию (цвет, отступы и тд и тп).
Вот и получается что при выводе и обрезании описания, может вывестись открывающий тег, но обрежет закрывающий, что в большинстве случаев приведет к похеренью верстки.
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
я уже писал не раз, в том числе и в недавней теме про обрезание, что для этого нужно использовать.

P.S. третья по моему тема про обрезание за этот месяц только...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Ну например человек заходит в описание товара и через редактор TinyMCE, придает оформление короткому описанию (цвет, отступы и тд и тп).
Вот и получается что при выводе и обрезании описания, может вывестись открывающий тег, но обрежет закрывающий, что в большинстве случаев приведет к похеренью верстки.
Я, честно говоря, даже и не задумывался, чтобы размечать краткое описание HTML тегами. Думал, раз там по умолчанию редактор не выводится - значить и не нужно оно. Мне кажется без этого можно обойтись, это некритично. И к тому же HTML теги засчитываются в количестве символов, разное количество тегов = разная высота краткого описания. Это создает дополнительный геморрой. Если нужно на что-то акцентировать внимание, то лучше использовать характеристики. Но это, конечно, не решает описанную Вами проблему.
я уже писал не раз, в том числе и в недавней теме про обрезание, что для этого нужно использовать.
P.S. третья по моему тема про обрезание за этот месяц только...
Извините, я создал эту тему не в целях набить количество сообщений. Действительно думал, что этот момент плохо освещен :-) Просто форум читаю нерегулярно.
http://joomlaforum.ru/index.php/topic,262550.0.html ;)
Благодарю! Не пойму как я мог прошлепать эту тему, она бы сэкономила мне немало времени.

dmitry_stas, Вы в той теме пишете про mb_substr.

ну не то чтобы... mb_substr если работает, то и будет работать. JString проверяет, установлен ли mb_substr, и использует именно его, если он установлен. так что вариант с mb_substr в какой то мере даже лучше, потому что нет лишних проверок. но вы должны быть изначально уверены, что он установлен. а JString будет универсальнее в этом плане. в общих случаях, когда вы не знаете заранее на каком хостинге будет выполнятся ваша программа, лучше использовать JString. в одном конкретном случае - проще mb_substr
Благодарю, очень ценная информация! Вы говорите, что с mb_substr в какой то мере даже лучше, потому что нет лишних проверок. Интересно, а эти лишние проверки насколько негативно они сказываются на показателях сайта? Как я понимаю это создает дополнительную нагрузку на хостинг и влияет на скорость загрузки сайта? Или там какое-то другое влияние? Заранее спасибо!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
та... десятитысячная, стотысячная секунды? я говорил об итого подходе. за универсальность - всегда нужно чем то платить. скоростью например. но в данном конкретном случае - я думаю этой нагрузкой можно пренебречь :) проведите если хотите замеры, насколько быстрее будет mb_substr чем JString::substr. скажем цикл из 10000 итераций, и засечь время выполнения цикла. не думаю что эта разница будет хоть насколько то ощутима для пользователя.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Фильтр товаров для JoomShopping 5

Автор Lemonez

Ответов: 13
Просмотров: 748
Последний ответ 12.04.2024, 21:20:02
от nevigen
WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 13
Просмотров: 2047
Последний ответ 03.04.2024, 14:24:38
от sergeytolkachyov
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 1
Просмотров: 427
Последний ответ 10.01.2024, 19:54:00
от sergeytolkachyov
Вывести название категории в списке товаров

Автор ataman

Ответов: 9
Просмотров: 3507
Последний ответ 15.09.2023, 20:31:11
от Alex_gs
[JoomShopping 5] вывод товаров из дочерних категорий

Автор v42bis

Ответов: 14
Просмотров: 1239
Последний ответ 18.05.2023, 16:35:40
от nevigen