PDA

Zobacz pełną wersję : Podobne etykiety + obrazek jak dodać?



Qbik
17-04-2014, 13:52
Znalazłem moduł który niby to robi http://extensions.joomla.org/extensions/search-a-indexing/tags-a-clouds/25450

Niestety nie wyświetla mi intro image dodanego za pomocą "obrazki i łącza":( tylko obrazki które dodam jako grafikę

Zacząłem więc modyfikować oryginalny moduł "Podobne Etykiety"


$article = JTable::getInstance("content");
$article->load($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router); // link do artykułu
$article_images = $article->get("images"); // Get image parameters
$pictures = json_decode($article_images); // Split the parameters apart
// Print the image
echo "<img src='" . $pictures->{'image_intro'} . "' alt='" . $pictures->{'image_intro_alt'} . "'>";

i w zasadzie załatwia on sprawę z tym że wyświetla mi zły link do obrazka

dostaje
aktualnosci/images/artykuly/obrazek.jpg

aktualnosci to kategoria w jakiej znajduje się artykuł

a potrzebuję
images/artykuly/obrazek.jpg

marian_mk
17-04-2014, 15:22
Nie musisz ponownie otwierać tabeli content wystarczy,ze w module w petli wyświtlajacej dane wstawisz
$images = json_decode($this->item->images); , a obrazek wyświetlisz za pomocą :

<img src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"/>


cały ten kod masz w poprzednich wersjach Joomla gdyz aktualnie w plikach masz tylko


<?php echo JLayoutHelper::render('joomla.content.intro_image' , $this->item); ?>

Qbik
19-04-2014, 13:03
Nie musisz ponownie otwierać tabeli content wystarczy,ze w module w petli wyświtlajacej dane wstawisz
Kod PHP:
$images*=*json_decode($this->item->images);*

ok gdzie dokładnie mam wstawić tą część bo próbowałem w miejscu w którym według mnie powinno to być i dostaję taki błąd
Fatal error: Using $this when not in object context in /home/cbcom/public_html_new/modules/mod_tags_similar_wci/tmpl/default.php on line 15

marian_mk
19-04-2014, 18:07
Masz podpowiedź w komunkacie błedu - w modle nie ma obektu $this , nzlezy sprawdzić jaki parametr daje moduł
$images*=*json_decode($this->item->images);*
Moze to być np
$images*=*json_decode($item->images);* lub

$images*=*json_decode($row->images);* - ale zalezne to jest od konstrukcji kodu modułu

Qbik
19-04-2014, 18:59
może nie jest to eleganckie, ale działa,


// obrazek intro image $article = JTable::getInstance("content"); $article->load($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router); // link do artykułu$article_images = $article->get("images"); // Get image parameters$images = json_decode($article_images); // Split the parameters apart ?><img src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"/>

nie udało i się wyświetlić obrazków bez odniesienia do tabeli o którym pisałeś wcześniej