Пагинация. Теги для пагинации – Boxcode

Пагинация. Теги для пагинации – Boxcode

Всем привет. В этой статье продолжаю рассказывать об оптимизации пагинации (постраничного вывода) . В первой статье  мы рассматривали избавление от дублей (на примере страницы /alladv/), прописывание тайтлов, но а в этой мы продолжим работать над оптимизацией, где я расскажу, как улучшить читаемость страниц с постраничным выводом для поисковых систем в движке Boxcode.

Вся суть статьи заключается в том, что мы в шапку сайта , в теге head, должны добавить теги

Для реализации подобного, в движке Boxcode, нам нужно :

  1. Определить новую переменную для вывода данных тегов. Открыть файл

    а) после

    ставим

    б) после

    ставим

    в) после

    ставим

    г) после

    ставим
  2. После, открываем файл

    а) ставим после

    этот код

    б) ставим после

    код

    в) после

    ставим этот код
  3. На последнем шаге, переходим в контроллер нашего модуля doska,а именно в

    после

    ставите следующий код

    в результате, у вас должно получится как на скриншоте у меня.
  4. Добавлю: если человек находится на первой странице, то, соответствующий тег, должен быть только на след.страницу (rel=’next’ ) и, если человек находится на последней странице, то тег должен быть только на предыдущую страницу (rel=’prev’ ). Это реализовано в моей статье, для того, чтобы не вести поисковые системы на несуществующие страницы.Также, от себя дополню, что данные процедуры по оптимизации движка Boxcode предельно эффективны в случае, если вы только запускаете доску и она еще не индексирована ПС. Если ваш сайт уже давно существует, то эффекта можете ждать очень долго, но, в любом случае, данные процедуры считаю полезными для вашей доски объявлений .Выводы:  данная статья рассчитана для конкретного модуля доски (/alladv/), т.е в качестве показательного примера, но работать по этой же схеме нужно и во всех других модулях и компонентах, т.к оптимизация должна нести комплексный характер!

присылайте свои идеи к нам на admin@make-board.ru

28 Комментариев
  1. не пойму в ссылки что добавить – dir_http.”/alladv/page”.
    Добавляю advuser”.$num_user.”/advuspage ругается на “.$num_user.”, без него билибирда получается!
    и выборка отсюда происходит open_num_page_all_advert или может должно быть что типа open_num_page_all_adverts_user
    ???

  2. не пойму в ссылки что добавить – dir_http.”/alladv/page”.
    Добавляю advuser”.$num_user.”/advuspage ругается на “.$num_user.”, без него билибирда получается!
    и выборка отсюда происходит open_num_page_all_advert или может должно быть что типа open_num_page_all_adverts_user
    ???

  3. Не пойму почему он не видит переменную $num_user в /moduls/doska/filesmodul/advert_user/forming_data.php
    а в /templates/шаблон/moduls/doska/mtemplates/page/adverts_user.html спокойно эту переменную съедает!
    Формирую таким образом
    $vsego_page=ceil($this->kolvo_vsego_all_advert/$masConfig[“KOL_ADVERT_TO_ALL_PAGE”]);//всего страниц пагинации
    $first_page=$this->open_num_page_all_advert+2;
    $next_page=$this->open_num_page_all_advert+1;
    $prev_page=$this->open_num_page_all_advert-1;

    if($this->open_num_page_all_advert==0){
    $header_link=”\n”.”dir_http.”/advuser”$num_user.”/advuspage”.$first_page.”.html’ />”;
    $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/’ />”;
    }else
    if($this->open_num_page_all_advert<$vsego_page){
    $header_link="\n"."dir_http.”/advuser”.$num_user.”/advuspage”.$next_page.”.html’ />”;
    $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$prev_page.”.html’ />”;
    $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$this->open_num_page_all_advert.”.html’ />”;
    }else
    if($this->open_num_page_all_advert==$vsego_page){
    $header_link=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$prev_page.”.html’/>”;
    $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$this->open_num_page_all_advert.”.html’ />”;
    }
    на выходе получаю ошибку
    Notice: Undefined variable: num_user in \moduls\doska\filesmodul\adverts_user\forming_data.php
    ???

  4. Заработало!
    Но осталось маленькое чудо, находясь на первой странице, подгружается нулевая страница, хотя по идее должна быть только следующая

    Я понимаю что болван, но очень хочется до ума довести!

  5. $vsego_page=ceil($this->kolvo_vsego_all_advert/$masConfig[“KOL_ADVERT_TO_ALL_PAGE”]);//всего страниц пагинации
    $first_page=$this->open_num_page_all_advert+2;
    $next_page=$this->open_num_page_all_advert+1;
    $prev_page=$this->open_num_page_all_advert-1;
    $num_user=$this->mas_inbox[“num_user”];

    if($this->open_num_page_all_advert==0){
    $header_link=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$first_page.”.html’ />”;
    $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/’ />”;
    }else
    if($this->open_num_page_all_advert<$vsego_page){
    $header_link="\n"."dir_http.”/advuser”.$num_user.”/advuspage”.$next_page.”.html’ />”;
    $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$prev_page.”.html’ />”;
    $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$this->open_num_page_all_advert.”.html’ />”;
    }else
    if($this->open_num_page_all_advert==$vsego_page){
    $header_link=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$prev_page.”.html’/>”;
    $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$this->open_num_page_all_advert.”.html’ />”;
    }

    • в первом вашем сообщении нет в контроллере вывода атрибутов next или prev. Я так понимаю, они у вас в html вставлены просто. Я такого в статье не описывал.

      У вас должно быть логическое условие, что если открыта первая страница, то атрибут prev не должен отображаться

      • атрибут $first_page=$this->open_num_page_all_advert+2; задан по аналоги с alladv
        условие для первой страницы тоже по аналогии с alladv
        if($this->open_num_page_all_advert==0){
        $header_link=”\n”.”dir_http.”/advuser”.$num_user.”/advuspage”.$first_page.”.html’ />”;
        $header_link.=”\n”.”dir_http.”/advuser”.$num_user.”/’ />”;
        В alladv работает! А во всех объявлениях usera не видит $first_page на первой странице??? Вторая и последующие вместе с последней работаю правильно!

    • Если у вас остается много вопросов, то создайте отдельную тему на форуме для обсуждения со всеми примерами кода, который вы сделали

Комментировать

Обязательные поля отмечены *. Ваш электронный адрес не будет опубликован.