Сортировка событий у компонента maps

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 16 ноября 2012 в 19:00
Друзья, приветствую!

Кто-нибудь сталкивался с проблемой изменения сортировки событий на странице объекта?

Нужно, чтобы события сортировались по принципу самые дальние по дате начала в начало списка, самые старые — в конец списка.

А то сейчас все наоборот: red-land.ru/maps/kultura/muzei/krasnodarskii-kraevoi-vystavochnyi-zal-izobrazitelnyh-iskustv-kvzi.html#tab_events

Буду признателен за инфу)
#2 16 ноября 2012 в 22:15
Есть такой нелогический вывод. И почему разрабы сразу это не поправили, это ж очевидно и логично что нужно сделать именно так.
#3 17 ноября 2012 в 14:41
Да уж))) и вот вопрос остался открытый, как победить эту сортировку?)))
#4 17 ноября 2012 в 15:26
Наверное нужно в запросе изменить сортировку
#5 18 ноября 2012 в 21:53
Поидее за сортировку отвечает 1501 строка в файле components/maps/frontend.php

  1. $model->orderBy('i.date_start', 'asc');
нужно поменять на

  1. $model->orderBy('i.date_start', 'desc');
#6 19 ноября 2012 в 02:10


Поидее за сортировку отвечает 1501 строка в файле components/maps/frontend.php

  1. $model->orderBy('i.date_start', 'asc');
нужно поменять на

  1. $model->orderBy('i.date_start', 'desc');

Unikal

У меня так и стояло по умолчанию, только ничего не меняется, я пробовал менять и на asc и на desc, чистил кеш, результат такой же.
#7 19 ноября 2012 в 12:18
насколько помню, это строка меняет сортировку у модуля вывода последних событий, но не у объекта
#8 19 ноября 2012 в 17:33
Вероятно сортировка привязана к запросу.
Можно попробовать в шаблоне поправить вывод.

это в файле www\templates\ваш_шаблон\components\com_inmaps_item.tpl

нужно найти цикл

  1.  
  2. {foreach key=n item=event from=$item.events}
  3. ............
  4. ............
  5. {/foreach}
  6.  
и заменить все на

  1.  
  2. {foreach key=n item=event from=$item.events}
  3. {if $event.is_today}
  4. <div class="events_item">
  5. <div class="title"><a href="/maps/events/{$event.id}.html">{$event.title}</a></div>
  6. <div class="pubdate">
  7. <span class="today">{$LANG.MAPS_EVENT_TODAY}</span>
  8. {$event.date}{/if}
  9. </div></div>
  10. {/foreach}
  11. {foreach key=n item=event from=$item.events}
  12. {if $event.is_tomorrow}
  13. <div class="events_item">
  14. <div class="title"><a href="/maps/events/{$event.id}.html">{$event.title}</a></div>
  15. <div class="pubdate">
  16. <span class="tomorrow">{$LANG.MAPS_EVENT_TOMORROW}</span>
  17. {$event.date}{/if}
  18. </div></div>
  19. {/foreach}
  20. {foreach key=n item=event from=$item.events}
  21. {if $event.days_to_start>1}
  22. <div class="events_item">
  23. <div class="title"><a href="/maps/events/{$event.id}.html">{$event.title}</a></div>
  24. <div class="pubdate">
  25. <span class="days_to">{$LANG.MAPS_EVENT_DAYS_TO} {$event.days_to_start|spellcount:$LANG.DAY:$LANG.DAY2:$LANG.DAY10}</span>
  26. {$event.date}{/if}
  27. </div></div>
  28. {/foreach}
  29. {foreach key=n item=event from=$item.events}
  30. {if !$event.is_today && !$event.is_tomorrow && $event.days_to_start<1}
  31. <div class="events_item">
  32. <div class="title"><a href="/maps/events/{$event.id}.html">{$event.title}</a></div>
  33. <div class="pubdate">
  34. <span class="days_to">Прошло</span>
  35. {$event.date}{/if}
  36. </div></div>
  37. {/foreach}
  38.  
топорно конечно, лучше раньше все сортировать, до вывода в шаблон.
#9 20 ноября 2012 в 00:44
спасибо))) помогло и сортировка работает:) но возникают косяки с версткой, с которыми так и не разобрался...
со второй вкладки все события вылезают на первую) а если переключить на вторую, то все события идут ниже блока с обводкой, где они и должны быть)

скрины прилагаю…
и
#10 20 ноября 2012 в 00:46
кстати, а ты не сталкивался с задачей прикрутки изображений к событиям?
#11 20 ноября 2012 в 04:54

но возникают косяки с версткой, с которыми так и не разобрался...

Сергей

Точно, есть такое ) Вот поправил, можно проверять )
я проверить не смогу, доступа к своим файлам не имею… уже как месяца 2 ..

  1.  
  2. {foreach key=n item=event from=$item.events}
  3. {if $event.is_today}
  4. <div class="events_item">
  5. <div class="title"><a href="/maps/events/{$event.id}.html">{$event.title}</a></div>
  6. <div class="pubdate">
  7. <span class="today">{$LANG.MAPS_EVENT_TODAY}</span>
  8. {$event.date}</div></div>{/if}{/foreach}
  9. {foreach key=n item=event from=$item.events}
  10. {if $event.is_tomorrow}
  11. <div class="events_item">
  12. <div class="title"><a href="/maps/events/{$event.id}.html">{$event.title}</a></div>
  13. <div class="pubdate">
  14. <span class="tomorrow">{$LANG.MAPS_EVENT_TOMORROW}</span>
  15. {$event.date}</div></div>{/if}{/foreach}
  16. {foreach key=n item=event from=$item.events}
  17. {if $event.days_to_start>1}
  18. <div class="events_item">
  19. <div class="title"><a href="/maps/events/{$event.id}.html">{$event.title}</a></div>
  20. <div class="pubdate">
  21. <span class="days_to">{$LANG.MAPS_EVENT_DAYS_TO} {$event.days_to_start|spellcount:$LANG.DAY:$LANG.DAY2:$LANG.DAY10}</span>
  22. {$event.date}</div></div>{/if}{/foreach}
  23. {foreach key=n item=event from=$item.events}
  24. {if !$event.is_today && !$event.is_tomorrow && $event.days_to_start<1}
  25. <div class="events_item">
  26. <div class="title"><a href="/maps/events/{$event.id}.html">{$event.title}</a></div>
  27. <div class="pubdate">
  28. <span class="days_to">Прошло</span>
  29. {$event.date}</div></div>{/if}{/foreach}
  30.  

кстати, а ты не сталкивался с задачей прикрутки изображений к событиям?

Сергей

Нет, так как вообще не пользуюсь событиями в мапсе.
Оставил только новости.
Фото можно прикрутить, но сделать все правильно сможет только разработчик.
С другой стороны многое (почти все) можно сделать через открытый frontend.
#12 20 ноября 2012 в 06:48
KS, Ну с детальной страницей разобрались, ))) спасибо, а в модуле событий как такое же реализовать ?
Модуль тоже должен выводить события ближайшие сверху, там лишь разница что события выводятся со всех компаний.
#13 20 ноября 2012 в 07:17

KS, Ну с детальной страницей разобрались, ))) спасибо, а в модуле событий как такое же реализовать? Модуль тоже должен выводить события ближайшие сверху, там лишь разница что события выводятся со всех компаний.

Clear

нужно смотреть как в модуле вывод идет.
если так же то по аналогии, если нет, то смогу сказать позже, как до дома доберусь…
#14 20 ноября 2012 в 10:13
KS, Ок я посмотрю, если что будем ждать твоего прихода домой )))
#15 20 ноября 2012 в 13:19
все ок, там почти тоже самое, думаю разберетесь.)
файл mod_maps_events.tpl
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.