Понякога нещо толкова елементарно може да вземе здравето на човек. Вчера над четири часа се мъчех да постигна нещо, което за програмист с малко повече опит (от моя) би било вероятно лесна работа, но аз супер много се изнервих… Но… в крайна сметка постигнах желания резултат, което си беше и целта… Сега смятам да го опиша тук, че не се знае кога и как ще ми потрябва пак 🙂
Идеята: При листване на една категория, всяко ревю се появява във формата на таблица, която показва заглавието (или колкото заглавия сте определили – в моя случай това са ‘Изпълнител’, ‘Заглавие’ и ‘Година’) и оценката на албума, за който е писано. Таблицата е съвсем обикновена и се описва в темплейт файл, който се намира в:
/administrator/components/com_sipmle_reviews/addons/modules/Category_Module/templates
и се нарича: CategoryMain.html.php
В него е описано горното меню с буквите, филтрирането на таблицата, самата таблица с ревютата и футъра, който е под формата на пейджинг, бройка на показване и прочие ненужни глупости.
Това, което на мене лично ми взе здравето, беше описването на отделните елементи, които се взимат за всяко ревю. Всички нужни параметри, функции и класове за този модул (почти всички всъщност) се описват една директория по-нагоре във файла: Category_Module.php.
Целта на занятието е до второто заглавие на всяко ревю, което е името на албума в случая, да се повява малка (50х50) картинка на обложката.
Първо тази обложка трябва да бъде описана във втория файл, за да знае първия как и откъде да си я вземе. Параметрите за темплейта се намират във функцията: _DisplayReviews(), която започва от 277 ред. В случая е необходимо да се опише променлива за обложката, която, ако се разгледа функцията, ще се види, че липсва. Това може да се направи във foreach цикъла… да речем под 333ти ред. Добавя се следното:

$reviewDetails->imageURL = Review_Module_SHOW_IMAGE ? $row->imageURL: “”;

Вече имаме променлива imageURL, която може да се извика в първия файл…

Оригиналната таблица изглежда така:

function AddReview(&$r)
{
$css = $this->_Alt ? “reviewRowAlt” : “reviewRow”;
?>
<tr class=”<?php echo $css;?>”>
<td><?php echo $r->title1;?></td>
<td><?php echo $r->title2;?></td>
<td><?php echo $r->title3;?></td>
<td><?php echo $r->rating;?></td>
<td><?php echo $r->reviewer;?></td>
<td><?php echo $r->date;?></td>
</tr>
<?php
$this->_Alt = !$this->_Alt;
}

Просто на желаното място трябва да се добави още едно ехо, което да извиква $r->imageURL… проста работа, ама на мене ми отне над 4 часа и именно затова кефът от крайният резултат е много голям.
А самият резултат може да бъде видян тук:
http://gothic.bg/releases.html?category=2-Reviews