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

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

Сортировка в обратном порядке. Как?

 (Прочитано 458 раз)
0 Пользователей и 1 Гость смотрят эту тему.
holovla
Осваиваюсь на форуме
***

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

Сообщений: 101


« : 15.04.2017, 00:02:25 »

Добрый день!
Фото имеют цифровые имена, возможно ли сделать сортировку в обратном порядке, чтобы новые, только загруженные фото были первые.
Сейчас 123456789... 1050 1051 итд
Нужно 1051 1050 .... 987654321

Реально ли так сделать?

Заранее благодарю за помощь!
Записан
Septdir
Живу я здесь
******

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

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


Skype: septdir


« Ответ #1 : 15.04.2017, 02:05:40 »

Можно прям на выводе массив развернуть array_reverse в помощь
Записан
holovla
Осваиваюсь на форуме
***

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

Сообщений: 101


« Ответ #2 : 15.04.2017, 14:02:46 »

Можно прям на выводе массив развернуть array_reverse в помощь

Благодарю за ответ!
К сожалению, в силу незнания и неимения опыта php самому добавить корректно array_reverse врятли получится .
Не затруднит ли Вас тыкнуть носом где и как подредактировать?
Буду Вам бесконечно признателен! drink


Насколько я понял сортировка идет тут components\com_joomgallery\views\category\tmpl\default_head.php

Код:
div class="jg_catorderlist">
      <form action="<?php echo $this->sort_url;?>" method="post">
          <?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY'); ?>
        <select title="<?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY'); ?>" name="orderby" onchange="this.form.submit()" class="inputbox">
          <option value="default"><?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY_DEFAULT'); ?></option>
<?php   if(strpos($this->_config->get('jg_usercatorderlist'), 'date')!== false): ?>
          <option <?php if($this->order_by == 'date') echo 'selected="selected"'; ?> value="date"><?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY_DATE'); ?></option>
<?php   endif;
        if(strpos($this->_config->get('jg_usercatorderlist'), 'user')!== false): ?>
          <option <?php if($this->order_by == 'user') echo 'selected="selected"'; ?> value="user"><?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY_AUTHOR'); ?></option>
<?php   endif;
        if(strpos($this->_config->get('jg_usercatorderlist'), 'title')!== false): ?>
          <option <?php if($this->order_by == 'title') echo 'selected="selected"'; ?> value="title"><?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY_TITLE'); ?></option>
<?php   endif;
        if(strpos($this->_config->get('jg_usercatorderlist'), 'hits')!== false): ?>
          <option <?php if($this->order_by == 'hits') echo 'selected="selected"'; ?> value="hits"><?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY_HITS'); ?></option>
<?php   endif;
        if(strpos($this->_config->get('jg_usercatorderlist'), 'rating')!== false): ?>
          <option <?php if($this->order_by == 'rating') echo 'selected="selected"'; ?> value="rating"><?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY_RATING'); ?></option>
<?php   endif; ?>
        </select>
<?php   $disabled = '';
        if($this->order_by != 'title' && $this->order_by != 'hits' && $this->order_by != 'date' && $this->order_by != 'user' && $this->order_by != 'rating'):
          $disabled = ' disabled="disabled"';
        endif; ?>
        <select<?php echo $disabled; ?> title="orderdir" name="orderdir" onchange="this.form.submit()" class="inputbox">
          <option <?php if ($this->order_dir == 'asc') echo 'selected="selected"' ?> value="asc"><?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY_ASC'); ?></option>
          <option <?php if ($this->order_dir == 'desc') echo 'selected="selected"' ?> value="desc"><?php echo JText::_('JGS_CATEGORY_OPTION_USER_ORDERBY_DESC'); ?></option>
« Последнее редактирование: 15.04.2017, 15:45:43 от holovla » Записан
holovla
Осваиваюсь на форуме
***

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

Сообщений: 101


« Ответ #3 : 21.04.2017, 13:11:50 »

Друзья, может кто подсказать??
Записан
Septdir
Живу я здесь
******

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

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


Skype: septdir


« Ответ #4 : 21.04.2017, 15:05:56 »

в приведенном вам коде нету ни масива ни цикла.
Записан
robert
Профи
********

Репутация: +369/-14
Offline Offline

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


« Ответ #5 : 21.04.2017, 16:49:11 »

Можно прям на выводе массив развернуть array_reverse в помощь
Это не решение. Нужно сделать сортировку на уровне запроса в БД, иначе получится:
- стр.1: 20, 19,...2, 1
- стр.2: 40, 39,..., 22, 21
...
а самые новые находятся на стр.200.
Записан
Septdir
Живу я здесь
******

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

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


Skype: septdir


« Ответ #6 : 21.04.2017, 18:32:22 »

Это не решение. Нужно сделать сортировку на уровне запроса в БД, иначе получится:
- стр.1: 20, 19,...2, 1
- стр.2: 40, 39,..., 22, 21
...
а самые новые находятся на стр.200.
Не знал что  JoomGallery хранит имаги в бд, тогда да, придется модель подправлять, а в током случае ТС стоит обратиться в ком. раздел
Записан
robert
Профи
********

Репутация: +369/-14
Offline Offline

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


« Ответ #7 : 21.04.2017, 18:56:38 »

Не знал что  JoomGallery хранит имаги в бд
Я тоже не знаю, но скорее всего там.
Записан
Septdir
Живу я здесь
******

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

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


Skype: septdir


« Ответ #8 : 21.04.2017, 19:03:05 »

Я тоже не знаю, но скорее всего там.
Да вы правы и причем выгружаются с лимитом
Кстати сам сортировка скорее всего тут, хотя не уверен ибо чтобы на вероника надо ставить компонент а мне лень
https://github.com/JoomGallery/JoomGallery/blob/master/components/com_joomgallery/models/category.php#L727
Записан
holovla
Осваиваюсь на форуме
***

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

Сообщений: 101


« Ответ #9 : 21.04.2017, 20:50:04 »

Да вы правы и причем выгружаются с лимитом
Кстати сам сортировка скорее всего тут, хотя не уверен ибо чтобы на вероника надо ставить компонент а мне лень
https://github.com/JoomGallery/JoomGallery/blob/master/components/com_joomgallery/models/category.php#L727

Спасибо Большое за ответы!! Я думаю это будет полезно многим!!

Вот код components/com_joomgallery/models/category.php  (строка 727 начинается с $where[] = "a.published = 1"Wink
Показать текстовый блок
Записан
Septdir
Живу я здесь
******

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

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


Skype: septdir


« Ответ #10 : 22.04.2017, 00:47:30 »

Спасибо Большое за ответы!! Я думаю это будет полезно многим!!

Вот код components/com_joomgallery/models/category.php  (строка 727 начинается с $where[] = "a.published = 1"Wink
Важен не номер строки а ее содержание. Если бы я пользовался этим компонентом и под рукой было бы решние я бы написал так и написал.
Если вам нужен готовый код, тогда милости просим в коммерческий раздел, ну или ждите пока кто ни будь это будет править для себя.
Если же хотите сами разобраться дам несколько намеков.
1. Порядок aка Сортировка в запросах ORDER BY в переменные для сортировки частенько называют так же, помимо название колонки в базе, так же пишеться в каком порядке выводить ASC или DESC
2. В компонентах запросы в базу чаще всего хранятся в model, хотя иногда бывают и исключения.
3. Модели по большей части имеют то же имя что и view.
4. Если начнете читать функции то многое станет понятно.
К примеру в приведенной вам функции есть целая функция отвечающая за сортировку function _buildImagesOrderBy()
В которой есть следующие строки
Код
 $user_orderby   = JRequest::getCmd('orderby');
     $user_orderdir  = JRequest::getCmd('orderdir');
По которым можно сказать что сортировка выставляться в настройках.
Но опять таки все это лишь предположения.
Ибо вы не дали ни версии (а она отличается от gihub) компонента ни то где вы его используете, а то малоли вы вообще про какой нибудь модуль, по сути исходных данных очень мало, да и как я писал ранее ставить его мне не очень хочется
« Последнее редактирование: 22.04.2017, 00:56:42 от Septdir » Записан
holovla
Осваиваюсь на форуме
***

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

Сообщений: 101


« Ответ #11 : 22.04.2017, 13:57:50 »

Важен не номер строки а ее содержание. Если бы я пользовался этим компонентом и под рукой было бы решние я бы написал так и написал.
Если вам нужен готовый код, тогда милости просим в коммерческий раздел, ну или ждите пока кто ни будь это будет править для себя.
Если же хотите сами разобраться дам несколько намеков.
1. Порядок aка Сортировка в запросах ORDER BY в переменные для сортировки частенько называют так же, помимо название колонки в базе, так же пишеться в каком порядке выводить ASC или DESC
2. В компонентах запросы в базу чаще всего хранятся в model, хотя иногда бывают и исключения.
3. Модели по большей части имеют то же имя что и view.
4. Если начнете читать функции то многое станет понятно.
К примеру в приведенной вам функции есть целая функция отвечающая за сортировку function _buildImagesOrderBy()
В которой есть следующие строки
Код
 $user_orderby   = JRequest::getCmd('orderby');
     $user_orderdir  = JRequest::getCmd('orderdir');
По которым можно сказать что сортировка выставляться в настройках.
Но опять таки все это лишь предположения.
Ибо вы не дали ни версии (а она отличается от gihub) компонента ни то где вы его используете, а то малоли вы вообще про какой нибудь модуль, по сути исходных данных очень мало, да и как я писал ранее ставить его мне не очень хочется


Благодарю!! Буду разбираться!
Записан
Страниц: [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