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

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

Неправильно работает пагинация

 (Прочитано 497 раз)
0 Пользователей и 1 Гость смотрят эту тему.
00t33p
Захожу иногда
**

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

Сообщений: 11


« : 09.05.2015, 19:59:42 »

В Joomla новичок, поэтому вопрос может казаться банальным.

Следуя урокам, сделал свой компонент.
В чем его суть:
посетители сайта могут задавать какие либо вопросы.
Администратор их фильтрует (удаляет, отвечает....)
В админке можно просмотреть список вопросов. И там я сделал пагинацию.
Все работает, с одним но.

При переходе по какой либо ссылке пагинации (страница 2, последняя, следующая...) все срабатывает ОК.
Но после перехода по вышеперечисленным ссылкам, никакая ссылка пагинации не работает. К url добавляется лишь # в конец.

Подскажите пожалуйста, что может быть не так. !
Столько уже перелопатил и ничего похожего не встречал. Неужели у меня первого возникла такая проблема ?

Заранее благодарю.
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

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


« Ответ #1 : 09.05.2015, 23:03:49 »

Без конкретной информации вряд ли кто сможет вам помочь. Выложите код пагинации, ссылку на сам сайт...
« Последнее редактирование: 10.05.2015, 21:32:04 от robert » Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

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


Skype: renor_


« Ответ #2 : 10.05.2015, 09:33:22 »

Вы задали вопрос, типа, есть машина и чтото не работает.
Какая машина, что в машине...
Тем более, по вашим словам, код самописный...
Вот точно раздела не хватает "Битва Экстрасенсов"
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

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



« Ответ #3 : 10.05.2015, 12:19:22 »

Я думаю человеку просто захотелось высказаться) Судя по тому, что он сам пишет компонент - решение найдётся.
Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #4 : 10.05.2015, 12:23:40 »

Простите за глупость.

Вот метод который находится в контролере:

function showQuestions(){
   
   global $app;  
   $db = & JFactory::getDbo();

   $limit = JRequest::getVar('limit', $app->getCfg('list_limit'));
   $limitstart = JRequest::getVar('limitstart', 0);
   $db->setQuery("SELECT COUNT(*) FROM #__my_comp");
   $total = $db->loadResult();
   jimport('joomla.html.pagination');
   $pageNav = new JPagination($total, $limitstart, $limit);

   $query = 'SELECT a.id, a.name, a.question, a.answer, b.name AS cat FROM #__my_comp AS a LEFT JOIN #__question_cat AS b ON a.id_cat = b.id ';
   $cat_id = JRequest::getVar('cat_id', '');
   if ($cat_id!==''){
      $query .= 'WHERE id_cat = '.$cat_id;
   }
   $db->setQuery($query, $limitstart, $limit);
   $rows = $db->loadObjectList();
   HTML_my_comp::listQuestions ($this->option, $rows, $pageNav);
}


Дальше у меня есть admin.my_comp.html.php файл, в котором находится метод - listQuestions, используемый в последней строке, метода который выше.


function listQuestions ($option, $rows, &$pageNav){?>

   <form action = "index.php" method="post" name="adminForm" id="adminForm">
      <table class="admintable" width=100%>
            <thead>
               <tr>
                  <th><input type="checkbox" name="toggle" value="" onclick="checkAll(<?php echo count($rows);?>);"/></th>
                  <th><?php echo JText::_('Author'); ?></th>
                  <th><?php echo JText::_('Question'); ?></th>
                  <th><?php echo JText::_('Answer'); ?></th>
                  <th><?php echo JText::_('Category'); ?></th>
               </tr>
            </thead>
            <tbody>
               <?php
               jimport('joomla.filter.output');
                  for($i=0; $i<count($rows); $i++){
                     $row = $rows[$i]; ?>
                     <tr>
                        <td><?= JHTML::_('grid.id', $i, $row->id); ?></td>
                        <td><?= JHTML::_('link', 'index.php?option=com_my_comp&task=reply&cid[]='.$row->id, $row->name); ?></td>
                        <td><?= $row->question; ?></td>
                        <td><?= $row->answer; ?></td>
                        <td><?= $row->cat; ?></td>
                     </tr>
                  <?php } ?>
            </tbody>
            <tfoot>
               <tr>
                  <td colspan="5">
                     <?php echo $pageNav->getListFooter(); ?>
                  </td>
               </tr>
            </tfoot>
      </table>
      <input type="hidden" name="option" value="<?php echo $option;?>" />
      <input type="hidden" name="task" value=""/ >
      <input type='hidden' name='boxchecked' value='0' />
   </form>
   <?php }


В принципе это все...
Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #5 : 10.05.2015, 12:25:43 »

Возможно в последнем методе с HTML кодом нехватает какого то скрытого поля с фильтром.
Но это только предположения

Еще раз спасибо всем за уделенное внимание.
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

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


Skype: renor_


« Ответ #6 : 10.05.2015, 12:39:54 »

чтото я запутался, читая код.
1.делайте спойлерами и названиями файлов, как вы их называете.
2.а почему вы решили таблицами делать, а не дивами с CSS?
3.и в скрипте ошибка и в таблице тоже.
Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #7 : 10.05.2015, 13:43:24 »

Azn
1. Что такое спойлер я только что почитал... )))
Может и такой вариант будет не плохой, но я это все дело для самообразования прохожу.
А вся эта пагинация вроде как не сложно выглядит. Но вот только что то тут не срабатывает.

2. Таблицами, наверно потому что это в Админке. А там ведь кнопки JToolBarHelper работают как кнопка Submit в таблице. Ну это на сколько я понял...
К тому же необходимы такие переменные запроса как $option и  $task. Которые тоже в этом случае через таблицу передавать удобнее всего.

3. vipiuss, знаю что по натуре я не очинь внимательный, но ошибок я не нашел.
Подскажите пожалуйста где и что не так ?
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

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


Skype: renor_


« Ответ #8 : 10.05.2015, 13:47:09 »

Да у вас уже в ответе их много)))
И зачем вы мучаетесь? Поставьте FAQ , есть много компонентов, зачем велосипед изобретать?
Записан
Taatshi
Support Team
*****

Репутация: +430/-3
Offline Offline

Пол: Женский
Сообщений: 4716

Мама, я снова верстал во сне...


« Ответ #9 : 10.05.2015, 14:26:44 »

vipiusss, Вы, я вижу, любитель потрепаться... У меня сильное подозрение, что никакой ошибки Вы не видите. Либо отвечали бы по делу, либо молчали бы уже.
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

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


Skype: renor_


« Ответ #10 : 10.05.2015, 14:38:46 »

Taatshi , я тоже заметил, что вы любитель сарказма.
Я посоветовал просто поставить FAQ и не мучаться.
И ошибку я нашёл и не одну.Начнём перебирать косточки кода? Там их 4 шт, это только я увидел.
Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #11 : 10.05.2015, 14:44:30 »

Ну, почти весь код был скопирован с pdf книги Седовой А. по разработке расширений.
Вряд ли там что то было ошибочно. Но вообще, все мы люди, поэтому ошибаться свойственно.

А делаю это я для того чтобы разобраться в Joomla. Я уже вам писал.

Не в обиду vipius'u, но кроме абстрактных подсказок наверно ответа на столь трудный вопрос я тут не найду.

Всем спасибо за внимание.
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

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


Skype: renor_


« Ответ #12 : 10.05.2015, 14:52:09 »

Ради приличия, я могу ваш код переписать, Седова права, я не спорю, но вы не то решение хотите.
Taatshi взял и обидел.
И ТС-вот почему вы не хотите FAQ поставить? Даже можно не компонент, есть и другие решения.
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Online Online

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


« Ответ #13 : 10.05.2015, 15:01:03 »

Ну, почти весь код был скопирован с pdf книги Седовой А. по разработке расширений.

Авторы подобных книжек видимо не в курсе что выборка в контроллере - это не есть хорошо. Для чего вообще модель тогда? Писатель, очевидно не имеет никакого представления об MVC, ни вида ни модели в коде нету. Зачем тогда вообще писать? Книга по разработке расширений, офигеть. Теперь я понимаю откуда они такие расширения плодятся. Но это ладно, если по существу нужно смотреть что каждый раз содержится в переменной $limitstart, мне кажется что оно пустое после перехода.

И ТС-вот почему вы не хотите FAQ поставить? Даже можно не компонент, есть и другие решения.

Он же написал что он учится расширения разрабатывать а вы ему готовое решение предлагаете.
« Последнее редактирование: 10.05.2015, 15:04:57 от zomby6888 » Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

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


Skype: renor_


« Ответ #14 : 10.05.2015, 15:12:34 »

 SmileyПредложил просто, чтоб не мучался
Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #15 : 10.05.2015, 15:42:59 »

Цитировать
по существу нужно смотреть что каждый раз содержится в переменной $limitstart

У меня тоже возникали такие мысли. Но опять же, опирался на опыт писательницы. Все вроде бы сделал как в книге.


Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

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


« Ответ #16 : 10.05.2015, 21:30:37 »

Авторы подобных книжек видимо не в курсе что выборка в контроллере - это не есть хорошо. Для чего вообще модель тогда? Писатель, очевидно не имеет никакого представления об MVC, ни вида ни модели в коде нету. Зачем тогда вообще писать? Книга по разработке расширений, офигеть.
На самом деле, я думаю, что ТС просто попала устаревшая книжка: вплоть до J1.5 масса написанных в таком духе расширений.

00t33p, если вы используете Joomla pagination, то, скорее всего, дело в работе JavaScript'а: либо конфликт, либо какая-то библиотека не загружена. На всякий случай проверьте файл pagination.php в папке /html шаблона сайта. Кстати, какая ваша версия Joomla?
Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #17 : 10.05.2015, 22:39:23 »

Joomla 2.5.19 у меня.

Ну а что касается шаблона, на сколько я понимаю, что речь идет о шаблоне админки ?
Т.к. вся канитель происходит там.
Шаблон сайта я быстро сам слепил из чего было Azn
А шаблон админки - Bluestork. (стандартный)

А что до книги, так там для 2.5 версии.

Как мне уже посоветовали, переходить на 3 давно пора )))
Может и так. Но на сколько я наслышан, много авторов придерживаются версий ниже 3й. Почему ?
Возможно что много багов и недоделок было.
Вот и я решил так.  Не знаю на сколько правильно.
Закоментируйте пожалуйста
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Online Online

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


« Ответ #18 : 10.05.2015, 22:55:55 »

Эта книжка явно не для 2.5 версии т.к. используются глобальные переменные и устаревший JRequest. Читайте лучше документацию по созданию компонентов от разработчиков или на joomlablog есть на русском языке перевод. Я кстатии когда свой первый компонент писал смог найти только мануал на английском для Joomla 1.x версии,  но там уже было все в соответствии с MVC и эти шаги все описаны.
« Последнее редактирование: 10.05.2015, 22:59:36 от zomby6888 » Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #19 : 10.05.2015, 23:44:54 »

Sedova_A._Razrabotka_rasshirenii_dlya_cms_joomla_2.5_Litmir.net_bid158731_original
Вот название документа (лекции)

zomby6888, а где можно найти документацию от разработчиков. Можно ссылку если не сложно...

Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #20 : 10.05.2015, 23:46:52 »

И еще Глобальный вопрос...
Какой версии лучше придерживаться ?
Подскажите новичку, знаю что вопрос может звучать глупо...
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

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



« Ответ #21 : 11.05.2015, 00:15:12 »

Сейчас 3-я ветка уже стала вполне стабильной, многие используют на рабочих сайтах. Это если глядеть в будущее. Если нужна 100% стабильность без экспериментов, то последняя 2.5
Но в любом случае все на 3 перейдём. Если новый сайт делать, то проще сразу.
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Online Online

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


« Ответ #22 : 11.05.2015, 02:48:07 »

Документация на инглише для 2.5:
https://docs.joomla.org/J2.5:Developing_a_MVC_Component
для 3.x
https://docs.joomla.org/J3.x:Developing_a_MVC_Component

На русском ссылку выше вам давал.
Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #23 : 12.05.2015, 20:55:06 »

Народ, всем огромное спасибо за помощь и ссылки.
Реально благодарен.
Удачи вам всем.
Записан
00t33p
Захожу иногда
**

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

Сообщений: 11


« Ответ #24 : 12.05.2015, 22:07:25 »

В общем если кому интересно, я нашел проблему.
Не был подключен  JHtml::_('behavior.framework');

Я его запихал в контролер и все заработало.

Красавец Azn

Блин, причем в книге это не написано. Да и по нэту тоже перелопатил нехилова туча....

Всем успехов.
Записан
Страниц: [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