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

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

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

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

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

Сообщений: 101


« : 15.04.2017, 00:02:25 »

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

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

Заранее благодарю за помощь!
Записан
Septdir
Практически профи
*******

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

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


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
Практически профи
*******

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

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


Skype: septdir


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

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

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

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


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

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

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

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


Skype: septdir


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

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

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

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


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

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

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

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


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
Практически профи
*******

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

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


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