Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 24 Ответов
  • 661 Просмотров
*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
В Joomla новичок, поэтому вопрос может казаться банальным.

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

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

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

Заранее благодарю.
*

robert

  • Профи
  • ********
  • 4009
  • 371
Re: Неправильно работает пагинация
« Ответ #1 : 10.05.2015, 00:03:49 »
Без конкретной информации вряд ли кто сможет вам помочь. Выложите код пагинации, ссылку на сам сайт...
« Последнее редактирование: 10.05.2015, 22:32:04 от robert »
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Re: Неправильно работает пагинация
« Ответ #2 : 10.05.2015, 10:33:22 »
Вы задали вопрос, типа, есть машина и чтото не работает.
Какая машина, что в машине...
Тем более, по вашим словам, код самописный...
Вот точно раздела не хватает "Битва Экстрасенсов"
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

ChaosHead

  • Профи
  • ********
  • 4683
  • 396
Re: Неправильно работает пагинация
« Ответ #3 : 10.05.2015, 13:19:22 »
Я думаю человеку просто захотелось высказаться) Судя по тому, что он сам пишет компонент - решение найдётся.
*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #4 : 10.05.2015, 13: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

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #5 : 10.05.2015, 13:25:43 »
Возможно в последнем методе с HTML кодом нехватает какого то скрытого поля с фильтром.
Но это только предположения

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

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Re: Неправильно работает пагинация
« Ответ #6 : 10.05.2015, 13:39:54 »
чтото я запутался, читая код.
1.делайте спойлерами и названиями файлов, как вы их называете.
2.а почему вы решили таблицами делать, а не дивами с CSS?
3.и в скрипте ошибка и в таблице тоже.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #7 : 10.05.2015, 14:43:24 »
:)
1. Что такое спойлер я только что почитал... )))
Может и такой вариант будет не плохой, но я это все дело для самообразования прохожу.
А вся эта пагинация вроде как не сложно выглядит. Но вот только что то тут не срабатывает.

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

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

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Re: Неправильно работает пагинация
« Ответ #8 : 10.05.2015, 14:47:09 »
Да у вас уже в ответе их много)))
И зачем вы мучаетесь? Поставьте FAQ , есть много компонентов, зачем велосипед изобретать?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Taatshi

  • Support Team
  • *****
  • 4788
  • 452
Re: Неправильно работает пагинация
« Ответ #9 : 10.05.2015, 15:26:44 »
vipiusss, Вы, я вижу, любитель потрепаться... У меня сильное подозрение, что никакой ошибки Вы не видите. Либо отвечали бы по делу, либо молчали бы уже.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Re: Неправильно работает пагинация
« Ответ #10 : 10.05.2015, 15:38:46 »
Taatshi , я тоже заметил, что вы любитель сарказма.
Я посоветовал просто поставить FAQ и не мучаться.
И ошибку я нашёл и не одну.Начнём перебирать косточки кода? Там их 4 шт, это только я увидел.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #11 : 10.05.2015, 15:44:30 »
Ну, почти весь код был скопирован с pdf книги Седовой А. по разработке расширений.
Вряд ли там что то было ошибочно. Но вообще, все мы люди, поэтому ошибаться свойственно.

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

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

Всем спасибо за внимание.
*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Re: Неправильно работает пагинация
« Ответ #12 : 10.05.2015, 15:52:09 »
Ради приличия, я могу ваш код переписать, Седова права, я не спорю, но вы не то решение хотите.
Taatshi взял и обидел.
И ТС-вот почему вы не хотите FAQ поставить? Даже можно не компонент, есть и другие решения.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
Re: Неправильно работает пагинация
« Ответ #13 : 10.05.2015, 16:01:03 »
Ну, почти весь код был скопирован с pdf книги Седовой А. по разработке расширений.

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

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

Он же написал что он учится расширения разрабатывать а вы ему готовое решение предлагаете.
« Последнее редактирование: 10.05.2015, 16:04:57 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Re: Неправильно работает пагинация
« Ответ #14 : 10.05.2015, 16:12:34 »
 ^-^Предложил просто, чтоб не мучался
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #15 : 10.05.2015, 16:42:59 »
Цитировать
по существу нужно смотреть что каждый раз содержится в переменной $limitstart

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


*

robert

  • Профи
  • ********
  • 4009
  • 371
Re: Неправильно работает пагинация
« Ответ #16 : 10.05.2015, 22:30:37 »
Авторы подобных книжек видимо не в курсе что выборка в контроллере - это не есть хорошо. Для чего вообще модель тогда? Писатель, очевидно не имеет никакого представления об MVC, ни вида ни модели в коде нету. Зачем тогда вообще писать? Книга по разработке расширений, офигеть.
На самом деле, я думаю, что ТС просто попала устаревшая книжка: вплоть до J1.5 масса написанных в таком духе расширений.

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

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #17 : 10.05.2015, 23:39:23 »
Joomla 2.5.19 у меня.

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

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

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

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
Re: Неправильно работает пагинация
« Ответ #18 : 10.05.2015, 23:55:55 »
Эта книжка явно не для 2.5 версии т.к. используются глобальные переменные и устаревший JRequest. Читайте лучше документацию по созданию компонентов от разработчиков или на joomlablog есть на русском языке перевод. Я кстатии когда свой первый компонент писал смог найти только мануал на английском для Joomla 1.x версии,  но там уже было все в соответствии с MVC и эти шаги все описаны.
« Последнее редактирование: 10.05.2015, 23:59:36 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #19 : 11.05.2015, 00:44:54 »
Sedova_A._Razrabotka_rasshirenii_dlya_cms_joomla_2.5_Litmir.net_bid158731_original
Вот название документа (лекции)

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

*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #20 : 11.05.2015, 00:46:52 »
И еще Глобальный вопрос...
Какой версии лучше придерживаться ?
Подскажите новичку, знаю что вопрос может звучать глупо...
*

ChaosHead

  • Профи
  • ********
  • 4683
  • 396
Re: Неправильно работает пагинация
« Ответ #21 : 11.05.2015, 01:15:12 »
Сейчас 3-я ветка уже стала вполне стабильной, многие используют на рабочих сайтах. Это если глядеть в будущее. Если нужна 100% стабильность без экспериментов, то последняя 2.5
Но в любом случае все на 3 перейдём. Если новый сайт делать, то проще сразу.
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
Re: Неправильно работает пагинация
« Ответ #22 : 11.05.2015, 03: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

На русском ссылку выше вам давал.
интернет-блог: http://websiteprog.ru
*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #23 : 12.05.2015, 21:55:06 »
Народ, всем огромное спасибо за помощь и ссылки.
Реально благодарен.
Удачи вам всем.
*

00t33p

  • Захожу иногда
  • **
  • 11
  • 1
Re: Неправильно работает пагинация
« Ответ #24 : 12.05.2015, 23:07:25 »
В общем если кому интересно, я нашел проблему.
Не был подключен  JHtml::_('behavior.framework');

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

Красавец :)

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

Всем успехов.