Перейти к содержанию
Форум поддержки пользователей VamShop

Описаное товара, сортировка


Рекомендуемые сообщения

По каким правилам сортируются шаблоны? Как сделать, что-бы новый файл шаблона был снизу, по имени не сортирует. 

Ссылка на сообщение
Поделиться на другие сайты

Так сортирует именно по алфавиту, назовите новый шаблон с буквы z и он у Вас и так будет внизу.

Ссылка на сообщение
Поделиться на другие сайты

Этот код находится в /admin/includes/modules/new_product.php

Вот он:

<?php
$files = array();
foreach (array('product_info', 'product_options') as $key) {
    if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/'.$key.'/')) {
        while (($file = readdir($dir)) !== false) {
            if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/'.$key.'/'.$file) and ($file != "index.html")) {
                $files[$key][] = array ('id' => $file, 'text' => $file);
            } //if
        } // while
        closedir($dir);
    }
    // set default value in dropdown!
    if ($content['content_file'] == '') {
        $files[$key] = array_merge(array(array('id' => 'default', 'text' => TEXT_SELECT)), $files[$key]);
    } else {
        $files[$key] = array_merge(array(array('id' => 'default', 'text' => TEXT_NO_FILE)), $files[$key]);
    }
}
?>

 

Видимо, его надо править.

 

Может как-то так (в общем, надо на php.net или stackoverflow.com читать как соритровать файлы):

<?php
$files = array();
foreach (array('product_info', 'product_options') as $key) {
    if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/'.$key.'/')) {
        while (($file = readdir($dir)) !== false) {
            if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/'.$key.'/'.$file) and ($file != "index.html")) {
                $files[$key][] = array ('id' => $file, 'text' => $file);
            } //if
            sort($files);
        } // while
        closedir($dir);
    }
    // set default value in dropdown!
    if ($content['content_file'] == '') {
        $files[$key] = array_merge(array(array('id' => 'default', 'text' => TEXT_SELECT)), $files[$key]);
    } else {
        $files[$key] = array_merge(array(array('id' => 'default', 'text' => TEXT_NO_FILE)), $files[$key]);
    }
}
?>

 

Ссылка на сообщение
Поделиться на другие сайты

Увы, так вообще пропадает меню выбора (меню есть, в неё пустота). придётся костыли вставлять)

Ссылка на сообщение
Поделиться на другие сайты

Заработал код

<?php
$files = array();
foreach (array('product_info', 'product_options') as $key)
 {

    if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/'.$key.'/')) {
        while (($file = readdir($dir)) !== false) {
            if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/'.$key.'/'.$file) and ($file != "index.html")) {

                $files[$key][] = array ('id' => $file, 'text' => $file);
                sort($files[$key]);

            } //if

        } // while
        closedir($dir);
    }
    // set default value in dropdown!
    if ($content['content_file'] == '') {
        $files[$key] = array_merge(array(array('id' => 'default', 'text' => TEXT_SELECT)), $files[$key]);
    } else {
        $files[$key] = array_merge(array(array('id' => 'default', 'text' => TEXT_NO_FILE)), $files[$key]);
    }
}

Пробовал с ключами string и natural, выдаёт product_info на первое место и потом фильтрует вроде норм. 

Спасибо за помощь!

Изменено пользователем GhOsT_PTZ
Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...