2009 20 сентября

Постраничная навигация для Datso 1.8.1 (page navigation)

По просьбе пользователя ce300man набросал добавление постраничной навигации в страницы галереи ( Популярные | Лучшие | Новые | Комментарии) Немного теории. Статья официальной вики Using JPagination in your component Работать будем с файлом components\com_datsogallery\sub_viewspecial.php В самое начало файла добавляем вызов родного класса навигации, кол-во выводимых на страницу берем из настроек галереи "Топ-список на страницу"
1
23
4
jimport('joomla.html.pagination');
$limit  = $ad_toplist;$limitstart  = JRequest::getVar('limitstart', 0, 'int');
$page_nav_links ='';
После в каждый case (кроме find) добавляем дополнительный запрос на получение общего количества изображений, удовлетворяющих условиям, создаем новый объект класса JPagination. Пример для case 'rating'
1
23
45
6
$query = "SELECT count(*) AS count FROM #__datsogallery WHERE imgvotes > 0 AND published=1 AND approved=1 ";
$db->setQuery($query);$row = $db->LoadObject();
$total = $row->count;$pageNav = new JPagination( $total, $limitstart, $limit );
$page_nav_links = $pageNav->getPagesLinks();
В самом запросе заменяем параметр LIMIT на limit $limitstart, $limit Все, теперь добавив в вывод нашу переменную мы получаем постраничную навигацию. Я добавил после закрытия общего
1
</table>
1
<?php echo $page_nav_links; ?>
В вложении модифицированный файл sub_viewspecial.php, достаточно просто заменить стандартный (не забываем про резервную копию) sub_viewspecial.php Тема на форуме

Комментарии

0 Алина пишет нам 28.09.2009 12:47
Привет,меня зовут Алина,читала вас на форуме joomlaforum.ru,постить там не стала,так как почитав увидела,что подобные вопросы остаются без ответов,поэтому решила написать у вас на сайте,простите мне мою наглость,может поможете ) Проблема вот в чём: есть шаблон,в нём только правая колонка,нужно сделать левую,я не специалистка в css и php,поэтому не знаю что и как делать,всё,что нашла в интернете не помогает или написано непонятным языком ) template_css и index.php,вроде бы эти два файла отвечают за расположение позиций,если не трудно внесите изменения,чтобы появилась левая колонка или хотя бы подскажите,что и где нужно прописать или добавить,заране е спасибо ) P.S.вот этот шаблон http://demo.gavick.com/ шаблон называется The News II файлы emplate_css и index.php http://depositfiles.com/files/scyu8k90q
Цитировать Сообщить модератору
0 Beliyadm отвечает 28.09.2009 15:09
Добрый день, Алина. Прошу прощения, но с приложенными файлами я ничего не могу сделать, разбираться в верстке наугад совершенно лень (да и вообще разбираться в чужой верстке удовольствие ниже среднего). Приложите полный архив шаблона - при возможности посмотрю. Чтобы добавить колонку слева нужно понимать html и блочную верстку, переверстать шаблон добавив соответствующую колонку и в нее вставить требуемые позиции модулей, к примеру LEFT, по аналогии с существующими
Цитировать Сообщить модератору
0 Алина пишет нам 28.09.2009 19:12
спасибо за ответ,буду разбираться,шаблон прилогать не буду,так как вы не посмотрите,а если даже и посмотрите,то вместо ответа дадите ссылку на статью типа "как самому сделать шаблон на joomla" ,так все делают,складывается мнение,что все эти "спецы" знают не больше моего )
Цитировать Сообщить модератору
0 Beliyadm отвечает 28.09.2009 19:16
Причина проста - прежде чем приниматься за CMS, нужно разобраться в HTML\CSS, тогда вопросов "как добавить колонку" по умолчанию не может возникать. По аналогии наверно например вы решили заняться сборкой автомобилей самостоятельно, но как поставить правильно колесо не знаете. Ни в коем случае не упрек, но начинать надо с азов. Разбираться в чужой верстке бесплатно - желающих мало. А той информации что вы предоставили в архиве - явно недостаточно, указал что нужно приложить весь архив шаблона.
Цитировать Сообщить модератору
0 Алина пишет нам 28.09.2009 19:56
не очень улыбается несколько месяцев изучать все эти примудрости,чтобы всего лишь добавить левую колонку в шаблон ) "Разбираться в чужой верстке бесплатно – желающих мало." - тоже верно,если сделаете заплачу,только заранее скажите сколько будет стоить. "А той информации что вы предоставили в архиве – явно недостаточно" - пообщавшись на форумах пришла к выводу,что именно эти файлы отвечают за мою проблему,поэтому их и предоставила ) В любом случае прилогаю архиф с шаблоном http://depositfiles.com/files/03ipfipmp
Цитировать Сообщить модератору
0 Beliyadm отвечает 28.09.2009 20:28
Ну а что вы хотели, просто так ничего не дается. В index.php шаблона после [code lang="php"]
Добавьте [code lang="php"]
leftcol
И в файле стилей template_css.css [code lang="php"]div.tpl_left { float: left; width: 100px; border: 1px solid #ccc; } И уменьшите ширину в стилях блока div#right на 100 пкс. Если хотите расширить левую колонку - на это же значение уменьшайте ширину правого либо центрального блока (div#component-2)
Цитировать Сообщить модератору
0 Алина пишет нам 28.09.2009 20:58
И в файле стилей template_css.css добавить "div.tpl_left { float: left; width: 100px; border: 1px solid #ccc; }" а куда это добавить,после каких строчек ?
Цитировать Сообщить модератору
0 Beliyadm отвечает 28.09.2009 21:00
В любое место. И умоляю - прочитайте хоть немного статей по CSS
Цитировать Сообщить модератору
0 Алина пишет нам 28.09.2009 21:06
не получается,ничего не изменилось
Цитировать Сообщить модератору
0 Beliyadm отвечает 28.09.2009 21:09
Прикладываю скриншот результата описанных мной выше действий http://easycaptures.com/fs/uploaded/371/3377856046.jpg
Цитировать Сообщить модератору
0 Алина пишет нам 28.09.2009 21:48
не выходит,может выложите на http://depositfiles.com файлы которые вы изменили
Цитировать Сообщить модератору
0 Алина пишет нам 28.09.2009 22:34
заменила файлы,с левой стороны появилась надпись leftcol,но модули в позицию left не добавляются http://pic.ipicture.ru/uploads/090928/HtjWsW33r1.png Наверно на самом деле всё сложней и изменением в двух файлах не обойтись,но всё равно спасибо вам за помощь и потраченное время )
Цитировать Сообщить модератору
0 Beliyadm отвечает 29.09.2009 02:37
А вот для этого читайте FAQ на форуме по поводу шаблонов в 1.5 Если посмотрите - я и не делал в индексе позицию для модуля на левом блоке, просто добавил его в верстку, дальше по аналогии добавляете позицию LEFT и публикуете модули. Изначально вы просили добавить левую колонку - я ее добавил, дальше уже самостоятельно дописываете позиции модулей на LEFT
Цитировать Сообщить модератору

Оставить коммент

Защитный код
Обновить