Форум русской поддержки Joomla!® CMS
03.12.2016, 02:21:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Якорь в пагинации

 (Прочитано 215 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 949



« : 25.04.2016, 10:50:13 »

Хочу сделать якорь в пагинации чтоб при переходе по страницам не в самое начало выкидывал а в список товаров.
В нужном мне месте я поставил  <a name="category_list"></a> в скрипте надо добавить #category_list
Вот сам скрипт
Цитировать
Код:
<?php
defined( '_JEXEC' ) or die;
function pagination_list_render($list){
    $html = '';
    $gwpages = array();

    foreach ($list['pages'] as $number => $page) {
        if($page['active'] === false){
            $current = $number;
        }
        $countPages = $number;
    }

    if($current > 1) $html .= GWaddRow($gwpages, $list['previous'], 'pagination-previous');
    $html .= GWaddRow($gwpages, $list['start'], 'pagination-start');
    if($current > 3) $html .= '..........';
    if(isset($list['pages'][$current-1])) $html .= GWaddRow($gwpages, $list['pages'][$current-1]);
    $html .= GWaddRow($gwpages, $list['pages'][$current]);
    if(isset($list['pages'][$current+1])) $html .= GWaddRow($gwpages, $list['pages'][$current+1]);
    if($current < ($countPages - 2)) $html .= '..........';
    $html .= GWaddRow($gwpages, $list['end'], 'pagination-end');
    if($current < $countPages) $html .= GWaddRow($gwpages, $list['next'], 'pagination-next');
    return '<ul>'.$html.'</ul>';
}

function GWaddRow(&$pages, $page, $class = ''){
    if(in_array($page, $pages)){
        return;
    }
    $row = '<li';
    $row .= ($class)? ' class="'.$class.'">' : '>';
    $row .= $page['data']. '</li>';
    $pages[] = $page;
    return $row;
}
?>
Но как суда добавить якорь непонятно. Вот страница с кнопками https://lik-astana.kz/poligrafiya.html
Помогите разобраться
« Последнее редактирование: 25.04.2016, 12:25:22 от Stasweb » Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 949



« Ответ #1 : 02.05.2016, 14:14:46 »

Вернулся к установки якоря на пагинацию.
Получается что якорь надо ставить в этот кусок кода
Код:
function GWaddRow(&$pages, $page, $class = ''){
    if(in_array($page, $pages)){
        return;
    }
    $row = '<li';
    $row .= ($class)? ' class="'.$class.'">' : '>';
    $row .= $page['data']. '</li>';
    $pages[] = $page;
    return $row;
}
то есть суда $row .= $page['data']. '</li>'; но как не пробовал не как не вышло поставить.
Помогите настроить якорь
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 949



« Ответ #2 : 03.05.2016, 08:58:53 »

Если делаю таким образом
Код:
$row = '<li';
    $row .= ($class)? ' class="'.$class.'">' : '>';
    $row .= $page['data']. '#top'.'</li>';
    $pages[] = $page;
    return $row;
То ошибок нет но #top не в ссылке а рядом с кнопками

и url такой /oformlenie-interera/results,25-24.html а надо /oformlenie-interera/results,25-24.html#top
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 949



« Ответ #3 : 16.05.2016, 15:38:00 »

Вопрос с якорем решил таким способом
для добавления якоря необходимо перейти в
 /administrator/components/com_virtuemart/helpers/vmpagination.php и в строке примерно 674 прописать '#category_list'.
Код:
return '<a '.$rel.' title="' . $item->text . '" href="' . $item->link .'#category_list'. '" class="pagenav">' . $item->text . '</a>';
Может кому понадобится.

Встал еще один вопрос как сделать каждой странице свой тайтл.
Сейчас тайтл такого вида при переходе <title>Полиграфия</title> с такой ссылкой https://lik-astana.kz/poligrafiya/results,25-24.html
а должна <title>Полиграфия | показано 25-24</title> или что то подобное чтоб не было дублей страниц.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet