xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« : 06.11.2010, 23:56:23 » |
|
Вечер добрый Подскажите пожалуйста Как ссылки "Предыдущая" и "Следующая" в постраничной навигации заменить картинками? В pagenavigation только какието $html .= $list['previous']['data']; и $html .= $list['next']['data']; Заранее спасибо
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #1 : 07.11.2010, 03:26:02 » |
|
Отбой, уже решил другим способом
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #2 : 14.11.2010, 14:33:13 » |
|
и всё же не решил, посоветуйте пожалуйста, как это можно организовать?
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #3 : 14.11.2010, 15:46:27 » |
|
Так как кастомизация пагинации в Joomla сделана через *опу, придется поковырять pagination.php, тот что в пабке library/joomla/html. Если оч надо - помыслю и напишу что и как сделать.
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #4 : 14.11.2010, 15:55:41 » |
|
Буду очень благодарен, если поможете
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #5 : 14.11.2010, 16:26:21 » |
|
В искомом файле строка №483 и №498 : $data->previous = new JPaginationObject(JText::_('Prev')); $data->next = new JPaginationObject(JText::_('Next'));
меняем на: $data->previous = new JPaginationObject('<img src="../../../images/back_f2.png"'); $data->next = new JPaginationObject('<img src="../../../images/back_f2.png"'); адрес к изображению и само изображение по вкусу. Там же и находятся Start & End (в смысле Первая и Последняя)
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #6 : 14.11.2010, 16:41:18 » |
|
Да, думаю это то что надо, но у меня в шаблоне уже свой pagination.php объявил, но чтото тольок текст отображается function pagination_list_render($list) { // Initialize variables $data->previous = new JPaginationObject('<img src="../images/prev.png">'); //----объявить вначале это ясно $data->next = new JPaginationObject('<img src="../images/next.png">'); $html = "<div class=\"pagenav\">"; if(strpos($list['start']['data'], "<a") === 0) $html .= $list['start']['data']; $html .= $list['previous']['data'];
foreach( $list['pages'] as $page ) { if($page['data']['active']) { }
$html .= $page['data'];
if($page['data']['active']) { } }
$html .= $list['next']['data']; if(strpos($list['end']['data'], "<a") === 0) $html .= $list['end']['data']; $html .= '';
$html .= "</div>"; return $html; }
function pagination_item_active(&$item) { return "<a href=\"".$item->link."\" title=\"".$item->text."\">".$item->text."</a>"; }
function pagination_item_inactive(&$item) { return "<span>".$item->text."</span>"; } ?> заранее спасибо
|
|
|
|
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #7 : 14.11.2010, 16:42:49 » |
|
Препарируем файл library/joomla/html/pagination.php. Находим метод _buildDataObject. В последнем цикле метода сразу после $data->pages[$i] = new JPaginationObject($i); добавляем // alien code begin $data->pages[$i]->type = 'page'; // alien code end После цикла, перед return $data добавляем // alien code begin $data->start->type = 'start'; $data->previous->type = 'previous'; $data->next->type = 'next'; $data->end->type = 'end'; // alien code end Теперь в файле pagination.php, в том что в шаблоне валяется(предполагается что взят из beez, с ul-списком), мы можем пользоваться свойством ->type, которое поможет различать ссылки как-то. Можно например написать такие функции: function pagination_item_active(&$item) { return "<li><a class=\"". $item->type ."\" href=\"".$item->link."\" title=\"".$item->text."\">".$item->text."</a></li>"; } function pagination_item_inactive(&$item) { return "<li><span class=\"". $item->type ."\">".$item->text."</span></li>"; }Далее, в CSS произвести подмену текста Предыдущая и Следующая на нужные картинки. Чета типа этого: .pagination .previous{ display: block; width: 40px; height: 20px; text-indent: -999px; overflow: hidden; background: url(../images/prevous.png) no-repeat; } ПС: писал долго блин...
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #8 : 14.11.2010, 16:45:24 » |
|
ща поштудируем ваш вариант, спасибо большое
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #9 : 14.11.2010, 16:49:41 » |
|
Да, думаю это то что надо, но у меня в шаблоне уже свой pagination.php
объявил, но чтото тольок текст отображается
заранее спасибо
Проверьте пути. У меня все нормально отображается.
|
|
|
|
|
Записан
|
|
|
|
|
Mihanja80
|
 |
« Ответ #10 : 15.11.2010, 09:43:36 » |
|
так если в шаблоне своя пагинация то там и править нужно, или я ошибаюсь? 
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #11 : 15.11.2010, 11:35:35 » |
|
в шаблоне может быть только пару функций из пагинации, однако полный набор в библиотеках/Joomla...
|
|
|
|
|
Записан
|
|
|
|
mxa
Осваиваюсь на форуме
 
Репутация: +4/-5
Offline
Сообщений: 29
|
 |
« Ответ #12 : 19.12.2010, 16:08:20 » |
|
Нашел готовый pagination.php с картинками и вообще легко и удобно настраиваемый для шаблона без необходимости лезть в движок http://vintagemarketing.co.uk/v1/Joomla/icons-on-pagination-for-joomla.htmlМожно добавить классы ко всем элементам навигации и тогда делаете так как хотите. Суперская вещь. Вот код: <?php /** * @version $Id: pagination.php 10381 2008-06-01 03:35:53Z pasamio $ * @package Joomla * @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */
// no direct access defined('_JEXEC') or die('Restricted access');
/** * This is a file to add template specific chrome to pagination rendering. * * pagination_list_footer * Input variable $list is an array with offsets: * $list[limit] : int * $list[limitstart] : int * $list[total] : int * $list[limitfield] : string * $list[pagescounter] : string * $list[pageslinks] : string * * pagination_list_render * Input variable $list is an array with offsets: * $list[all] * [data] : string * [active] : boolean * $list[start] * [data] : string * [active] : boolean * $list[previous] * [data] : string * [active] : boolean * $list[next] * [data] : string * [active] : boolean * $list[end] * [data] : string * [active] : boolean * $list[pages] * [{PAGE}][data] : string * [{PAGE}][active] : boolean * * pagination_item_active * Input variable $item is an object with fields: * $item->base : integer * $item->link : string * $item->text : string * * pagination_item_inactive * Input variable $item is an object with fields: * $item->base : integer * $item->link : string * $item->text : string * * This gives template designers ultimate control over how pagination is rendered. * * NOTE: If you override pagination_item_active OR pagination_item_inactive you MUST override them both */
function pagination_list_footer($list) { // Initialize variables $lang =& JFactory::getLanguage(); $html = "<div class=\"list-footer\">\n";
$html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>"; $html .= $list['pageslinks']; $html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";
$html .= "\n<input type=\"hidden\" name=\"limitstart\" value=\"".$list['limitstart']."\" />"; $html .= "\n</div>";
return $html; }
function pagination_list_render($list) { // Initialize variables $lang =& JFactory::getLanguage(); $html = "<div class='p-2'>";
if($list['start']['active']) { $item = explode("Œ#å", $list['start']['data']); $linkStart = $item[0]; $titleStart = $item[1]; $html .= "<span><a href='" . $linkStart . "' title='" . $titleStart . "'><img src='images/vintage/first.png' width='16' height='16' class='correct-png' /></a></span>"; } else { $titleStart = $list['start']['data']; $html .= "<span><img src='images/vintage/first0.png' alt='" . $titleStart . "' title='" . $titleStart . "' width='16' height='16' class='correct-png' /></span>"; }
if($list['previous']['active']) { $item = explode("Œ#å", $list['previous']['data']); $linkPreviouos = $item[0]; $titlePreviouos = $item[1]; $html .= "<span><a href='" . $linkPreviouos . "' title='" . $titlePreviouos . "'><img src='images/vintage/previous.png' width='16' height='16' class='correct-png' /></a></span>"; } else { $titlePreviouos = $list['previous']['data']; $html .= "<span><img src='images/vintage/previous0.png' alt='" . $titlePreviouos . "' title='" . $titlePreviouos . "' width='16' height='16' class='correct-png' /></span>"; }
foreach( $list['pages'] as $page ) {
if($page['data']['active']) { $item = explode("Œ#å", $page['data']); $linkPage = $item[0]; $titlePage = $item[1]; $html .= "<span><a href='" . $linkPage . "' title='" . $titlePage . "'>" .$titlePage. "</a></span>"; } else { $html .= "<span>" . $page['data'] . "</span>"; } }
if($list['next']['active']) { $item = explode("Œ#å", $list['next']['data']); $linkNext = $item[0]; $titleNext = $item[1]; $html .= "<span><a href='" . $linkNext . "' title='" . $titleNext . "'><img src='images/vintage/next.png' width='16' height='16'/></a></span>"; } else { $titleNext = $list['next']['data']; $html .= "<span><img src='images/vintage/next0.png' alt='" . $titleNext . "' title='" . $titleNext . "' width='16' height='16' /></span>"; }
if($list['end']['active']) { $item = explode("Œ#å", $list['end']['data']); $linkEnd = $item[0]; $titleEnd = $item[1]; $html .= "<span><a href='" . $linkEnd . "' title='" . $titleEnd . "'><img src='images/vintage/last.png' width='16' height='16'/></a></span>"; } else { $titleEnd = $list['end']['data']; $html .= "<span><img src='images/vintage/last0.png' alt='" . $titleEnd . "' title='" . $titleEnd . "' width='16' height='16' /></span>"; }
$html .= "</div>";
return $html; }
function pagination_item_active(&$item) { return $item->link . "Œ#å" . $item->text; }
function pagination_item_inactive(&$item) { return $item->text; } ?>
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #13 : 19.12.2010, 16:10:34 » |
|
Спасибо, зафаворитим
|
|
|
|
|
Записан
|
|
|
|
tolyan15
Захожу иногда

Репутация: +0/-0
Offline
Пол: 
Сообщений: 12
|
 |
« Ответ #14 : 19.12.2010, 23:04:11 » |
|
Нашел готовый pagination.php с картинками и вообще легко и удобно настраиваемый для шаблона без необходимости лезть в движок http://vintagemarketing.co.uk/v1/Joomla/icons-on-pagination-for-joomla.htmlМожно добавить классы ко всем элементам навигации и тогда делаете так как хотите. Суперская вещь. Вот код: <?php /** * @version $Id: pagination.php 10381 2008-06-01 03:35:53Z pasamio $ * @package Joomla * @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */
// no direct access defined('_JEXEC') or die('Restricted access');
/** * This is a file to add template specific chrome to pagination rendering. * * pagination_list_footer * Input variable $list is an array with offsets: * $list[limit] : int * $list[limitstart] : int * $list[total] : int * $list[limitfield] : string * $list[pagescounter] : string * $list[pageslinks] : string * * pagination_list_render * Input variable $list is an array with offsets: * $list[all] * [data] : string * [active] : boolean * $list[start] * [data] : string * [active] : boolean * $list[previous] * [data] : string * [active] : boolean * $list[next] * [data] : string * [active] : boolean * $list[end] * [data] : string * [active] : boolean * $list[pages] * [{PAGE}][data] : string * [{PAGE}][active] : boolean * * pagination_item_active * Input variable $item is an object with fields: * $item->base : integer * $item->link : string * $item->text : string * * pagination_item_inactive * Input variable $item is an object with fields: * $item->base : integer * $item->link : string * $item->text : string * * This gives template designers ultimate control over how pagination is rendered. * * NOTE: If you override pagination_item_active OR pagination_item_inactive you MUST override them both */
function pagination_list_footer($list) { // Initialize variables $lang =& JFactory::getLanguage(); $html = "<div class=\"list-footer\">\n";
$html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>"; $html .= $list['pageslinks']; $html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";
$html .= "\n<input type=\"hidden\" name=\"limitstart\" value=\"".$list['limitstart']."\" />"; $html .= "\n</div>";
return $html; }
function pagination_list_render($list) { // Initialize variables $lang =& JFactory::getLanguage(); $html = "<div class='p-2'>";
if($list['start']['active']) { $item = explode("Œ#å", $list['start']['data']); $linkStart = $item[0]; $titleStart = $item[1]; $html .= "<span><a href='" . $linkStart . "' title='" . $titleStart . "'><img src='images/vintage/first.png' width='16' height='16' class='correct-png' /></a></span>"; } else { $titleStart = $list['start']['data']; $html .= "<span><img src='images/vintage/first0.png' alt='" . $titleStart . "' title='" . $titleStart . "' width='16' height='16' class='correct-png' /></span>"; }
if($list['previous']['active']) { $item = explode("Œ#å", $list['previous']['data']); $linkPreviouos = $item[0]; $titlePreviouos = $item[1]; $html .= "<span><a href='" . $linkPreviouos . "' title='" . $titlePreviouos . "'><img src='images/vintage/previous.png' width='16' height='16' class='correct-png' /></a></span>"; } else { $titlePreviouos = $list['previous']['data']; $html .= "<span><img src='images/vintage/previous0.png' alt='" . $titlePreviouos . "' title='" . $titlePreviouos . "' width='16' height='16' class='correct-png' /></span>"; }
foreach( $list['pages'] as $page ) {
if($page['data']['active']) { $item = explode("Œ#å", $page['data']); $linkPage = $item[0]; $titlePage = $item[1]; $html .= "<span><a href='" . $linkPage . "' title='" . $titlePage . "'>" .$titlePage. "</a></span>"; } else { $html .= "<span>" . $page['data'] . "</span>"; } }
if($list['next']['active']) { $item = explode("Œ#å", $list['next']['data']); $linkNext = $item[0]; $titleNext = $item[1]; $html .= "<span><a href='" . $linkNext . "' title='" . $titleNext . "'><img src='images/vintage/next.png' width='16' height='16'/></a></span>"; } else { $titleNext = $list['next']['data']; $html .= "<span><img src='images/vintage/next0.png' alt='" . $titleNext . "' title='" . $titleNext . "' width='16' height='16' /></span>"; }
if($list['end']['active']) { $item = explode("Œ#å", $list['end']['data']); $linkEnd = $item[0]; $titleEnd = $item[1]; $html .= "<span><a href='" . $linkEnd . "' title='" . $titleEnd . "'><img src='images/vintage/last.png' width='16' height='16'/></a></span>"; } else { $titleEnd = $list['end']['data']; $html .= "<span><img src='images/vintage/last0.png' alt='" . $titleEnd . "' title='" . $titleEnd . "' width='16' height='16' /></span>"; }
$html .= "</div>";
return $html; }
function pagination_item_active(&$item) { return $item->link . "Œ#å" . $item->text; }
function pagination_item_inactive(&$item) { return $item->text; } ?> Подскажите, куда вставлять 
|
|
|
|
|
Записан
|
|
|
|
Iskander
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 27
|
 |
« Ответ #15 : 20.12.2010, 09:44:57 » |
|
Подскажите, куда вставлять  Думаю, это содержание файла /templates/шаблон/html/pagination.php
|
|
|
|
|
Записан
|
|
|
|
Junior
Новичок
Репутация: +0/-0
Offline
Сообщений: 3
|
 |
« Ответ #16 : 25.01.2011, 17:57:54 » |
|
Как сделать чтобы при попадании на первую или последнюю страницу убирались << Первая < Предыдущая или Следующая > Последняя >> соответственно?
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #17 : 25.01.2011, 18:05:48 » |
|
Находил видео урок по этому вопросу, поищите по поисковикам
|
|
|
|
|
Записан
|
|
|
|
Junior
Новичок
Репутация: +0/-0
Offline
Сообщений: 3
|
 |
« Ответ #18 : 25.01.2011, 18:48:23 » |
|
Вы имеете ввиду погуглить? Тогда подскажите как вы искали, потому что я не то что видео, я нормальное текстовое описание проблемы даже на английском не нашел, не говоря уже о рунете. искал что-то типа remove start end from pagenav Joomla 1.5 с разными вариациями. Может плохо искал... На форуме увидел вот такую тему http://joomlaforum.ru/index.php/topic,118019.0.htmlгде-то сродни моей По ссылке вместо помощи в теме топикстартеру было предложено поискать ...по форуму "pagintaion" или "пагинация". Темы обсуждались неоднократно. Облазил все результаты поисков на форуме по этим словам - ничего подходящего нет. Хотя бы знать в каком месте проверку на текущий номер страницы в пагинации делать, чтобы убирать вышеупомянутые start и end
|
|
|
|
« Последнее редактирование: 25.01.2011, 18:53:21 от Junior »
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #19 : 25.01.2011, 19:06:06 » |
|
|
|
|
|
|
Записан
|
|
|
|
Junior
Новичок
Репутация: +0/-0
Offline
Сообщений: 3
|
 |
« Ответ #20 : 31.01.2011, 21:15:43 » |
|
Спасибо за помощь. Урок все разжевал до наночастиц 
|
|
|
|
|
Записан
|
|
|
|
xander kej
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 275
Keep working
|
 |
« Ответ #21 : 31.01.2011, 21:17:16 » |
|
пожалуйста
|
|
|
|
|
Записан
|
|
|
|
|