Понякога нещо толкова елементарно може да вземе здравето на човек. Вчера над четири часа се мъчех да постигна нещо, което за програмист с малко повече опит (от моя) би било вероятно лесна работа, но аз супер много се изнервих… Но… в крайна сметка постигнах желания резултат, което си беше и целта… Сега смятам да го опиша тук, че не се знае кога и как ще ми потрябва пак 🙂
Идеята: При листване на една категория, всяко ревю се появява във формата на таблица, която показва заглавието (или колкото заглавия сте определили – в моя случай това са ‘Изпълнител’, ‘Заглавие’ и ‘Година’) и оценката на албума, за който е писано. Таблицата е съвсем обикновена и се описва в темплейт файл, който се намира в:
/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
Олеле, нищо не разбрах от това.Дори само като се опитвам да схвана нещо, започва да ме боли главата. Затова няма и да се мъча да го чета повторно. За съжаление не можах и резултата да видя защото браузърът ми не намира търсения сървър.
Да, моя грешка… грешно съм пейстнал линка 🙂 Оправих го, а иначе и аз доста време не можех да го схвана :Д
Най-после видях крайнеят резултат.Харесва ми.Имам само един въпрос. От къде са се взели тези оценки?Кой е оценил Today We Are All Demons на Combichrist с 9 ,а Monster на Oomph! със 7? Не,че имам нещо против, реална е горе долу оценката,но ми е любопитно!:Д
Това са моите мнения… от блога (тоест от тук… от Releases категорията :Д) 🙂
мъка… представям си само… но крайният резултат си струва усилията! 😉
Честно казано нямам идея защо реших, че трябва да се вижда и картинка там… никой не ме караше да я слагам, но като реших, че с нея ще изглежда по-добре, просто трябваше да стане :Д Но пък мисля, че се получи добре :Д Сега вече като я имам мисля и едно overlib-че да сложа (hover на мишката, като минеш през заглавието :Д)… Въобще… идеите извират от мене ;Д
Наистина, с картинка изглежда супер :)Продължавай все така …. направо си те представям като бликащ от идеи фонтан :)))) Шегичка :Р