0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 1965 Просмотров
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
понадобилось отсортировать значения характеристики по алфавиту. даже не думал, что возникнут трудности. оказывается, кнопочка Сохранить активна только тогда, когда сортировка по колонке Сортировка. как то не очень логично :) надо было быстро - поэтому хак: открываем файл \administrator\components\com_jshopping\views\product_field_values\tmpl\list.php и делаем следующее

1. в самом начале `$saveOrder = ...` меняем на `$saveOrder = 1;` во избежании путаницы с сортировкой стрелками вверх/вниз лучше не переопределять $saveOrder, а в строке ~34 условие `if ($saveOrder){` либо удалить, либо заменить на `if ($saveOrder || 1){`, а также удалить или закомментировать в строке ~70 `if (!$saveOrder) echo 'disabled'` . тогда стрелочки будут появляться как и положено только когда вывод по колонке Сотрировка, а кнопка Сохранить активна всегда, независимо по какой колонке сортировка.

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

2. строка ~70 `<input type="text" name="order[]" ...` - меняем `$row->ordering` на `$i+1`

после этого нажатие на нужной колонке выводит строки в нужном нам порядке и мы можем этот порядок сохранить без лишних действий

PS очень буду за, если разработчики перенесут эту идею в компонент, потому что таких мест (когда сохранить сортировку можно только если вывод по колонке Сортировка) не мало, а необходимость в этом возникает довольно таки не редко
« Последнее редактирование: 24.10.2013, 01:06:42 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
В Joomla 3 везде так... Сортировка доступна только если отсортировано по полю ordering.
Вот и получается двоякое мнение... Вроде как и сохраняется общая концепция Joomla, а вроде как и неудобно, в виду необходимости сортировать по полю ordering перед процессом сортировки.
А вообще я уже предлагал хак для сортировки по алфавиту. Правда на новых версиях не тестировал.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
В Joomla 3 везде так...
а оно и в Ж2.5 также. сортировка возможна только если отсортировано по полю ordering. так ладно сортировка. это логично. но почему сохранение возможно только тогда, вот что не понятно для меня? чтобы отсортировать 100 строк по алфавиту, надо потратить 2 часа кликая на стрелочки. Потому что циферки то вводить тоже нельзя, когда по Наименованию сортировка. приходилось открывать в одной вкладке отсортированую таблицу по алфавиту, а в другой по ордеринг, и в ней руками проставлять цифры согласно таблице по Алфавиту. идиотизм...  ладно, то такое. Joomla обсуждать здесь точно не будем. теперь что по вашему хаку. меня не устраивало в нем следующее:

1. больше кода :)
2. жестко заданная сортировка по алфавиту онли. а если мне надо в обратном порядке? а если по ID вдруг решу? ну и т.д.
3. как в сами написали,
Цитировать
Теряется возможность указывать сортировку вручную указав номера (Только стрелками вверх и вниз)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
в принципе на этом можно и остановится, но лень дает о себе знать... чтобы руками не изменять порядок строк, я решил что неплохо бы при сортировке по нужной колонке автоматом проставлять в инпуты порядка сортировки сразу нужное значение, а не сохраненный порядок сортировки. ведь страшного по сути в этом ничего нет, пересохранится оно только тогда, когда нажмем Сохранить. для этого

2. строка ~70 `<input type="text" name="order[]" ...` - меняем `$row->ordering` на `$i+1`

Ну собственно для 99% случаев достаточно сделать только это... трудно придумать зачем бы может понадобиться какой то ещё вариант сортировки, кроме сортировки по алфавиту. И пользуясь случаем, хочу выразить благодарность за универсальное решение, ибо подходит оно не только для характеристик, а для всего, что отображается в админке в табличном виде.
*

MadKitty

  • Захожу иногда
  • 62
  • 1 / 0
$i+1
Сортировка в списке значение характеристики выполняется, а при редактировании карточки товара значения не отсортированы. В чем может быть проблема? И как сделать так, чтобы при редактировании карточки товара значения характеристик тоже были отсортированы?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а Сохранить вы нажимаете?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться