Witam,
pewnie wiele osób korzystających z dj-classifieds spotkało się z problemem tworzenia nowej linii tekstu w dodatkowych polach.
W polach typu np. textarea po wpisaniu tekstu:
"test 1
test 2
test 3"
wyświetlany był jako:
"test 1 test 2 test 3"
Poniżej przedstawiam Wam mój poradnik jak dodać obsługę enter-a do pól dodatkowych, w szablonie jm-real-estate-ads.
U mnie działa wszystko bez zarzutów, ale pamiętaj aby przed przystąpieniem do tych operacji utworzyć kopię zapasową każdego edytowanego pliku.
Robisz to na własną odpowiedzialność.
1. Musimy zamienić znaki nowej linii '\n' pobrane z bazy danych na znaczniki html "<br />".
W tym celu odszukujemy plik components/com_djclassifieds/views/item/tmpl/default_customdetails.php
54 linie kodu: "echo $f->value;"
zamieniamy na "echo str_replace("\n", "<br>", $f->value);"
Kod PHP:
if($f->type=='textarea'){
if($f->value==''){echo '---'; }
else{
echo str_replace("\n", "<br>", $f->value);
//echo $f->value;
}
2. Edytujemy style.css, który znajdziemy tutaj:
components/com_djclassifieds/themes/<nazwa_szablonu>/css/style.css
ponieważ ja korzystam z jm-real-estate-ads, w moim przypadku to będzie:
components/com_djclassifieds/themes/jm-real-estate-ads/css/style.css
Odszukujemy następującą linijkę:
Kod:
#dj-classifieds .dj-item .custom_det .row br {
display: none;
}
Możemy ją zakomentować, lub po prostu usunąć. W tym momencie nasze "entery" będą już widoczne.
3. (opcjonalne)
W celach kosmetycznych możemy ukryć entery w niektórych znacznikach html np.
Jeśli w pole dodatkowe wprowadzimy następujący kod:
Kod HTML:
<ul>
<li>Poniedziałek: 12:00 - 22:00</li>
<li>Wtorek: 12:00 - 22:00</li>
<li>Środa: 12:00 - 22:00</li>
<li>Czwartek: 12:00 - 22:00</li>
<li>Piątek: 12:00 - 22:00</li>
<li>Sobota: 12:00 - 22:00</li>
<li>Niedziela: 12:00 - 22:00</li>
</ul>
to przy wyświetlaniu tego pola, po każdym znaczniku </li> zostanie dodany jeszcze znacznik <br> (doda go fragment kodu który umieściliśmy w pliku default_customdetails.php).
w efekcie otrzymamy:
Kod HTML:
<ul>
<br><li>Poniedziałek: 12:00 - 22:00</li>
<br><li>Wtorek: 12:00 - 22:00</li>
<br><li>Środa: 12:00 - 22:00</li>
<br><li>Czwartek: 12:00 - 22:00</li>
<br><li>Piątek: 12:00 - 22:00</li>
<br><li>Sobota: 12:00 - 22:00</li>
<br><li>Niedziela: 12:00 - 22:00</li>
<br></ul>
a na ekranie otrzymamy podwójną przerwę pomiędzy każdą linijką. Aby tego uniknąć w pliku style.css musimy dodać taki kod:
Kod:
#dj-classifieds .dj-item span.row_value ul br{
display: none;
}
pogrubiony wyraz ul to znacznik pomiędzy którymi znacznik <br /> ma być ukryty, możemy go zastępować innymi wedle uznania.
Mam nadzieję, że przedstawiony poradnik udało mi się napisać w miarę prosto i komuś pomogę :-)
W razie jakichkolwiek pytań proszę pisać na mail'a.