Здравствуйте! Начала наполнять сайт и столкнулась с такой проблемой. Создала отдельную папочку для фотографий товара. Пронумеровала их все от 1 до 30. А при добавлении, когда выбираешь "менеджер изображений" картинки все в хаотичном порядке (1, 10, 23, 14 .. и тд), очень не удобно искать каждую по отдельности. Помогите пожалуйста решить эту проблему
находим admin/controller/common/filemanager.php, в нем ищем Код: foreach($files as $file){ и до него ставим Код: usort($files, create_function('$a,$b','return filemtime($b) - filemtime($a);'));
Dimakusch, а зачем там filemtime, если задача состоит в сортировке по имени файла? Там достаточно просто так: PHP: sort($files)
Добавьте после sort($files); это: PHP: $this->log->write($files); И посмотрите журнал ошибок, чтоб убедиться для начала, что здесь всё отсортировалось как надо. Если здесь всё в порядке, тогда нужно смотреть на фронтенде.
Ой, немного не так понял суть.. Так картинки, вроде, и так по порядку сортируются 1.5.5х.?! Хотя сам изменил по дате добавления, так удобнее чтоб не искать по имени (где-то в средине менеджера).
Если я правильно поняла. Нужно было в файлик admin/controller/common/filemanager.php, до этой строки вставить foreach($files as $file){ вот этот код: sort($files) $this->log->write($files); В журнале ошибок вот такое: 2016-04-04 16:32:11 - Array 2016-04-04 16:32:13 - Array
Не помогло, теперь вот такая вот ошибочка в журнале ошибок: [0] => /home/site.ru/image/data/option/1.jpg [1] => /home/site.ru/image/data/option/10.jpg [2] => /home/site.ru/image/data/option/11.jpg .... [17] => /home/site.ru/image/data/option/4.jpg [18] => /home/site.ru/image/data/option/5.jpg [19] => /home/site.ru/image/data/option/6.jpg [20] => /home/site.ru/image/data/option/7.jpg [21] => /home/site.ru/image/data/option/8.jpg [22] => /home/site.ru/image/data/option/9.jpg
Помогло. Я именно это и хотел увидеть. Ну, как не сложно заметить, здесь сортировка работает (после 1 идёт 10 потому, что сортируются строки, а не числа). В админке вы видите фотографии не в таком порядке как здесь?
нет, в админке идет так 1, 10, 11, 21 и тд , потом в конце 1.2.3 (( Из лога видно, что 1.jpg, потом 10.jpg, потом 11.jpg (
Ну, то есть, всё выводится именно в таком порядке. как и здесь. Значит сортировка работает, просто в данном случае нужен более сложный вариант. Замените sort на natsort.
Теперь то, что нужно! Спасибо Вам больше за помощь. У меня в журнале ошибок вот такая вот "ошибка" 2016-04-05 19:57:50 - Array ( [0] => /home/site.ru/image/data/option/1.jpg [11] => /home/site.ru/image/data/option/2.jpg ....... Пусть так и будет? После того, как я добавлю все товары, и удалю те строчки, которые Вы мне сказали прописать, ничего с сайтом не случиться?
Это не ошибка, а информация. Просто уберите строку, которую добавили: PHP: $this->log->write(print_r($files,true)); Ничего. Но зачем удалять строку с natsort?
меня это не тревожит, просто поинтересовалась. И еще хотела спросить. При добавлении картинок, к товару, картинки располагаются не по порядку, я прописываю сортировку 1,2,3,4,5,6 ... тд, сохраняю, заново открываю товар и во вкладке "изображения" изображения располагаются хаотично http://i80.fastpic.ru/big/2016/0409/bc/765ada93c3dd3c3abb05d9df5ed30abc.png Поможете мне с этим?
ну так это же элементарно!!! PHP: public function getProductImages($product_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "' ORDER BY sort_order"); return $query->rows; }