PDA

Zobacz pełną wersję : Ograniczenie dlugosci nazwy produktu



lenovo
05-09-2009, 20:00
Witam, jak moge ograniczyc dlugosc wyswietlanej nazwy produktu w Virtuemart w module mod_virtuemart_randomprod? Jest to modul wyswietlajacy losowe produktu. Chcialbym ograniczyc wyswietlane nazwy produktu do 20 znaków , poniewaz dluzsza nazwa "rozwala" mi ulozenie obok siebie zdjec produktu. Pozdrawiam

joomla: 1.5.9
VM: 1.1.2

KYCu
05-09-2009, 20:48
Witaj,

Na początek koniecznie zaktualizuj
* Joomla! 1.5.14
* VirtueMart 1.1.3

lenovo
06-09-2009, 12:47
ok a co dalej z ograniczeniem znakow?

Jola
06-09-2009, 19:34
Witam,
moduł, o którym mówisz, do wyświetlania informacji o produktach, korzysta z funkcji wbudowanych w komponent sklepu.
Zmiana w nich spowoduje inne wyświetlanie nazwy produktów w pozostałych miejscach.
Pozostaje więc dopisanie własnych zmodyfikowanych (2 szt.) i korzystanie z nich (wywołanie) z poziomu modułu.
Pozdrawiam

dkint
06-09-2009, 19:45
Witam

Wprawdzie nie na temat (konkretnie w drugą stronę - wydłużanie nazwy) ale może komuś kiedyś się przyda .... http://forum.virtuemart.net/index.php?topic=17140.0

pozdrawiam
Krzysiek

lenovo
14-09-2009, 19:02
Wiec udalo mi sie w latwy sposob dokonac ograniczenia nazwy produktow w tym module.
Wiec zmiany dokonujemy w pliku odpowiedzialny za wyswietlanie produktow w module: /public_html/components/com_virtuemart/themes/default/templates/common/productsnapshot.tpl.php

w tym pliku odnajdujemy linijke odpowiedzialna za wyswietlanie nazwy czyli:

<?php echo $product_name ?>

i zmieniamy na:

<?php echo substr($product_name, 0,10); ?>

i mamy ograniczony do 10 znakow :)

Jola
14-09-2009, 20:17
Witam,
działa do czasu kiedy w strefie ucięcia nie pojawią się polskie znaki. Proponuję posłużyć się funkcją, która lepiej radzi sobie z kodowaniem utf-8:

echo mb_substr($produkt_name, 0, 10, 'UTF-8')."...";Gdzie 10 oznacza ilość znaków, po których następuje obcięcie a "..." sygnalizują, że to nie jest cały tytuł.
Pozdrawiam

moje
14-09-2009, 20:44
Lub:

echo mb_substr($produkt_name, 0, 10, 'UTF-8')."&hellip;";
Gdzie &#38;hellip; da ... :)
Można jeszcze użyć też &#38;#8230; :)