1

Тема: Порядок сортировки товаров на плагине I18N

Я так понимаю, что для сортировки используется параметр menuOrder. А вот как его вывести дополнительным полем при создание/редактирование страницы? Штатными средствами не выводит, пишет - параметр зарезервирован.

Или есть еще какой то способ ручной сортировки "поисковой выдачи"?

Поделиться

2

Re: Порядок сортировки товаров на плагине I18N

не вполне понятен ваш вопрос. для сортировки поиска плагином I18N Search  существует несколько параметров
Сортировка анонсов
'order'=>'created' — по дате создания (последние сверху);
'order'=>'+created' — по дате создания (первые сверху);
'order'=>'date' — по дате публикации (последние сверху);
'order'=>'+date' — по дате публикации (первые сверху);
'order'=>'reverseurl' — по возрастанию url;
'order'=>'url' — по убыванию url;
'order'=>'+menuOrder' — по размещению в меню

При работе с плагинами I18n Special Pages и I18n Custom Fields можно сортировать анонсы по любому полю, используемому ими:

'order'=>'+имя_вашего_поля' — по возрастанию;
'order'=>'-имя_вашего_поля' — по убыванию;

а для сортировки меню есть ссылка справа Редактировать структуру меню

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

3 (2015-10-20 15:35:39 отредактировано creativel)

Re: Порядок сортировки товаров на плагине I18N

Сейчас стоит сортировка 'order'=>'+menuOrder', но "Редактировать структуру меню" не работает. То есть перетаскиваешь страницу, нажимаешь сохранить. Смотришь - ничего не сохранилось.

Тогда вопрос. В чем может быть причина, что не сохраняется структура меню?

Может права доступа поменять к какому ту файлу?

Поделиться

4

Re: Порядок сортировки товаров на плагине I18N

может быть вы не ту страницу перетаскиваете?

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

5

Re: Порядок сортировки товаров на плагине I18N

ту :-) вернее я все уже пробовал. Поэтому и задал вопрос - может как то из опций страницы можно изменить menuOrder

Поделиться

6

Re: Порядок сортировки товаров на плагине I18N

ничего не изменилось в результатах поиска или в редакторе структуры меню? попробуйте заменить параметр поиска на другой

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

7 (2015-10-21 17:29:40 отредактировано creativel)

Re: Порядок сортировки товаров на плагине I18N

Не меняется ни в меню, ни в результатах поиска. Если заменить параметр поиска, то тогда точно не будет выводить в нужно порядке.

Пока что, вышел из ситуации дополнительным полем в свойствах товара и параметром

'order'=>'+имя_вашего_поля'

Поделиться

8

Re: Порядок сортировки товаров на плагине I18N

может быть ошибки какие-то появляются в логах? странно что не меняется порядок меню

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

9

Re: Порядок сортировки товаров на плагине I18N

У меня в админке тоже не сохраняет порядок меню... Глюк начался после 200х созданных страниц. Сортирую и переименовываю пункты меню как мне нужно и жму "сохранить", появляется табличку "Порядок успешно сохранен", обновляется страница и все также как и было...

Поделиться

10

Re: Порядок сортировки товаров на плагине I18N

скорее всего CMS все-таки не рассчитана на такое количество страниц, я попробовал на сайте с 700 страницами и тоже не смог изменить порядок меню, хорошо, что мне этого и не требуется smile

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

11

Re: Порядок сортировки товаров на плагине I18N

Олег, написал Мартину, решили проблему. В общем, как я понял, плагин сортирует меню отправляя POST-запросы серверу одновременно в большом количестве и объеме. Все банально и просто - на сервере Апач стоит лимит на такие вещи.

Теперь инструкция: нужно на сервере найти файл php.ini (у меня на сервере стоит CentOs и он расположен по адресу /etc/php.ini), отредактировать его добавив строку max_input_vars = 10000 в самый низ файла, сохранить файл, перезагрузить сервер или модуль Апача. После запуска должно все заработать. Но у меня не завелось - дело в том, что у меня на сервере множество моих клиентов хостится и у каждого клиента на сервере отдельный логин и пароль, отдельный ftp и т.д. Поэтому мне пришлось еще и отредактировать файлик php.ini в папке с самим пользователем. У меня он находился тут - /var/www/имя_пользователя/data/php-bin/php.ini. Я также сохранил этот файл, но сервер уже перезагружать не нужно и вуаля! Все работает.

P.S. Значение 10000 - это значение, которое отвечает за количество этих POST запросов. Я в администрировании серверов не разбираюсь и в настройках модуля PHP, но чем значение меньше - тем лучше. Нужно выставлять значение оптимальное, которое не будет слишком большим и при этом все будет работать. Я думаю, что кому-то информация пригодится эта.

P.P.S. У меня остался один вопрос, напишу его тут - у меня 200+ страниц и сложная структура меню (сайт салона красоты и вот пример хлебных крошек: Главная » Услуги » Парикмахерские услуги » Женские » Афроплетения » Супер локоны). Как сделать так, чтобы отображался полный URL адрес всех директорий в ссылке?

Я сделал:

1) <?php get_i18n_header(); ?> вставил в самом шаблоне
2) в настройках ЧПУ %parents%/%slug%/ прописал
3) получил вместо нормального URL такую хрень - http://getsimplecms.ru/%parents%/usluga/ (адрес сайта изменен, чтобы не считалось рекламой).

То есть, он вставляет %parents% прямо в URL адрес!!! Может быть нужно отредактировать .htaccess или просто у меня руки из задницы? smile

Поделиться

12

Re: Порядок сортировки товаров на плагине I18N

я когда-то сталкивался с вашей проблемой, но уже не помню что, было не так smile возможно мешает какой-либо плагин
сейчас у меня работает %parents%/%slug%/ ничего не редактировал
http://demo.getsimplethemes.ru/finance- … evel-menu/

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

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

13 (2016-02-08 15:01:07 отредактировано memmori)

Re: Порядок сортировки товаров на плагине I18N

Если Вы о ручной перезагрузке (то есть, как вообще перезагрузить) и у Вас установлена ISP панель на сервере, то есть кнопочка слева http://screenshot.net/qywxva4 smile Про другие панели не знаю. Написал о проблеме с ЧПУ Мартину, чувствую, что задолбал я его...) Ну не может быть конфликт плагинов, так как все плагины от Мартина стоят smile http://screenshot.net/qpolxbm

P.S. У Вас косяк в верстке на устройствах с малым разрешением... Вчера с телефона заметил - http://screenshot.net/lmvrdsv http://screenshot.net/0gv7ku8

Поделиться

14

Re: Порядок сортировки товаров на плагине I18N

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

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

15 (2016-03-15 12:38:30 отредактировано boa)

Re: Порядок сортировки товаров на плагине I18N

Есть такая проблема с этим плагином
1) <?php get_i18n_header(); ?> вставил в самом шаблоне
2) в настройках ЧПУ %parents%/%slug%/ прописал
3) php.ini изменил, сервер перезапустил - просмотр из админки в урле site.ru/razdel/drugoj-razdel/
в хлебных крошках, похожих страницах, в сайдбаре ссылки вида site.ru/%parents%/drugoj-razdel/
Не могу понять в чем дело?

Решилось просто - %parent%/%slug%/

Поделиться

16

Re: Порядок сортировки товаров на плагине I18N

%parents%/%slug%/ - использует в ссылках полные адреса с любым уровнем вложенности, а %parent%/%slug%/ показывает только одну родительскую страницу

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

17

Re: Порядок сортировки товаров на плагине I18N

Господи, спасибо тому, что я пишу решения на форумах. Начал гуглить проблему и наткнулся, угадайте, на чей пост? Правильно, на свой)))

Дабы не флудить, напишу ещё одну полезность, которую я открыл для себя. Да-да, я очень люблю ГетСимпл и 99% своих сайтов делаю на нём и когда я обучаю своих прогеров работать с ним, то ощущаю себя на уровне этого чувака из фильма "Хранители" (кстати, очень годный фильм, рекомендую к просмотру)

https://www.1c-interes.ru/upload/pictures09/0809/30/Hraniteli_1_1.jpg

Так вот. У клиента есть сайт, он его заполнил аж до целых 300+ сраниц. И тут он мне звонит и говорит "Лёха, нужно поменять структуру меню. Мне нужно поменять родительские станицы местами."

https://api.monosnap.com/rpc/file/download?id=ykEoRCBvADKS3FKpyyVIgH5pEczRC6

Захожу в "Редактировать структуру меню" и...

https://i.ytimg.com/vi/LwQWZJcNRtU/hqdefault.jpg
https://api.monosnap.com/rpc/file/download?id=0hUb8ZJxEpWPsghLzLol20oFtyvLgy

Конечно же я решил зайти в саму страницу и, используя эту опцию, поменять сортировку в меню

https://api.monosnap.com/rpc/file/download?id=kLNx8OubIwvOwpRNTblaHCoAcpp6sp

Но мои родительские страницы не простые, а спецстраницы. Захожу я, значит, в спецстраницы и вижу боль. БОЛЬ.

https://api.monosnap.com/rpc/file/download?id=sZFgJRWGzwWPCPsDYAM7JEKoB2ogfK

"Какого полового органа???", подумал я. И уже начал лазить по файлам плагина i18n, чтобы найти xml, отвечающий за порядок меню. И тут меня дёрнул чёрт...

https://api.monosnap.com/rpc/file/download?id=HwjaEAuj3OwzbnVMC1jHt97UKmbBzG

Да-да, автор плагина зачем-то прописал display:none этим пунктам. Сначала я думал, что это не будут работать и рано я радовался. Но нет, всё заработало и я изменил сортировку так как мне надо)))

Надеюсь этот нескучный пост с картинками немного поднимет настроение форумчанам)

Поделиться

18

Re: Порядок сортировки товаров на плагине I18N

а ларчик просто открывался smile
http://prntscr.com/f6b48y

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

19 (2018-10-18 10:07:27 отредактировано ^^^^^^)

Re: Порядок сортировки товаров на плагине I18N

olsv64 пишет:

я когда-то сталкивался с вашей проблемой, но уже не помню что, было не так smile возможно мешает какой-либо плагин
сейчас у меня работает %parents%/%slug%/ ничего не редактировал
http://demo.getsimplethemes.ru/finance- … evel-menu/

Добрый день.
А не покажете, какой функцией в вашем примере хлебные крошки генерируются?
Столкнулся с такой же проблемой - вставляет %parents% прямо в URL вместо адреса страницы. Проявляется это на спец.страницах и в хлебных крошках. С первым разобрался - причина в использовании simplelink, если просто link - все работает.
Со вторым вопросом сложнее, Хлебные крошки выводятся функцией Innovation_Parent_Link, тут еще проблема, что она только 1 уровень дает, а не все.
При этом define('I18N_SINGLE_LANGUAGE', true); влияния на такое поведение не оказывает.

Поделиться

20

Re: Порядок сортировки товаров на плагине I18N

в шаблоне использован плагин http://get-simple.info/extend/plugin/dy … rumbs/948/ м ивкой код

<ol class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList">
                            <?php dyGetBreadcrumbs(get_page_slug(false), true, false, 0, 25, true, true); ?>
                        </ol>

для плагина I18N код выглядит так

<ul class="uk-breadcrumb itemscope itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="<?php echo find_url('index',null); ?>" itemprop="item"><span itemprop="name">Главная</span></a></li><?php get_i18n_breadcrumbs(return_page_slug()); ?>
</ul>
Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

21 (2018-10-19 11:01:56 отредактировано ^^^^^^)

Re: Порядок сортировки товаров на плагине I18N

Спасибо, отличный плагин, буду пользоваться.
Самое смешное, что %parents% из ссылок не ушло((

Это точно связано с настройкой ЧПУ %parents%/%slug%/ , потому что если использовать %parent%/%slug%/, то нет такой ошибки, но уровней только 2 остается, иерархия рушится.

Поделиться

22 (2018-10-22 13:48:16 отредактировано ^^^^^^)

Re: Порядок сортировки товаров на плагине I18N

olsv64 пишет:

в шаблоне использован плагин http://get-simple.info/extend/plugin/dy … rumbs/948/ м ивкой код

<ol class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList">
                            <?php dyGetBreadcrumbs(get_page_slug(false), true, false, 0, 25, true, true); ?>
                        </ol>

Олег, скажите, у вас в примере используется %parents%/%slug%/ или %parent%/%slug%/?

В общем нашел я суть этой проблемы, это не какой не глюк, а таков функционал самой CMS:

Есть в коде следующая функция - find_url(), а в ней строки кода:
Здесь в $PERMALINK=%parent%/%slug%/ из настроек ЧПУ,производится замена %parent% и %slug% на реальные подстроки адреса(формируется URL по шаблону), когда в настройках ЧПУ прописана строка %parents%/%slug%/, то замена части %parents%/ не происходит, т.к. нет ее в шаблоне поиска, и она(подстрока %parents%/) остается в неизменном виде. Затем переменная $url возвращается функцией в виде строки(в данном случае в вызове внутри dyGetBreadcrumbs(get_page_slug(false), true, false, 0, 25, true, true);)

    if (trim($PERMALINK) != '' && $slug != 'index'){
        $plink = str_replace('%parent%/', $parent, $PERMALINK);
        $plink = str_replace('%parent%', $parent, $plink);
        $plink = str_replace('%slug%', $slug, $plink);
        $url = $full . $plink;
    }

Т.е. по определению, при использовании %parents%/%slug%/ нормальный URL получить нельзя, т.к. она делает поиск и подмену только %parent%.
Примечательно, что плагин I18N при построении меню и хлебных крошек эту функцию не использует и ошибок этого рода не возникает.
Решение будет позже, видимо модификацией этих строк. Неужели никто, кроме меня и еще пары человек с форума, с этим не сталкивался? Ведь этот вопрос уже задавали тут, но ответа нет.

Поделиться

23

Re: Порядок сортировки товаров на плагине I18N

Собственно решение:

Нужно модифицировать функцию find_url() так:

После деректив $global... добавить переменную(массив) для поиска и замены подстрок в шаблоне ЧПУ,

    $search = array('%parent%/','%parent%','%parents%/','%parents%');

и строки

    if (trim($PERMALINK) != '' && $slug != 'index'){
        $plink = str_replace('%parent%/', $parent, $PERMALINK);
        $plink = str_replace('%parent%', $parent, $plink);
        $plink = str_replace('%slug%', $slug, $plink);
        $url = $full . $plink;
    }

заменить на

    if (trim($PERMALINK) != '' && $slug != 'index'){
        $plink = str_replace($search, $parent, $PERMALINK);
        $plink = str_replace('%slug%', $slug, $plink);
        $url = $full . $plink;
    }

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

Поделиться

24

Re: Порядок сортировки товаров на плагине I18N

я обычно не использую длинные адреса страниц, но вот здесь http://demo.getsimplethemes.ru/building … evel-menu/ все работает и без вашего предложения, http://prntscr.com/l8z6ty
и здесь тоже http://motolist.ru/mototexnika-velorex/ … x-562.html

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

25 (2018-10-22 22:34:00 отредактировано ^^^^^^)

Re: Порядок сортировки товаров на плагине I18N

Ну вот и странно все, у меня 2 версии CMS - 13 и 15, в обеих эта функция одинакова. Ошибка такая не у меня одного случилась ведь. Да, это проявляется с глубиной дерева больше 2 уровней.
Возможно это еще стечение обстоятельств(точнее комбинации настроек)? Попробую завтра поэкспериментировать.
Оригинал полностью, как видно, тут учитывается, используется ли  Fancy URLs, указан ли Permalink, причем если да, то остальные настройки игнорируются и он формирует адрес по этой маске.

function find_url($slug, $parent, $type='full') {
    global $PRETTYURLS;
    global $SITEURL;
    global $PERMALINK;
                
    if ($type == 'full') {
        $full = $SITEURL;
    } elseif($type == 'relative') {
        $s = pathinfo(htmlentities($_SERVER['PHP_SELF'], ENT_QUOTES));
        $full = $s['dirname'] .'/';
        $full = str_replace('//', '/', $full);
    } else {
        $full = '/';
    }
    
    if ($parent != '') {
        $parent = tsl($parent); 
    }    

  if ($PRETTYURLS == '1') {      
    if ($slug != 'index'){  
        $url = $full . $parent . $slug . '/';
    } else {
        $url = $full;
    }   
  } else {
        if ($slug != 'index'){ 
        $url = $full .'index.php?id='.$slug;
    } else {
        $url = $full;
    }
  }
  
    if (trim($PERMALINK) != '' && $slug != 'index'){
        $plink = str_replace('%parent%/', $parent, $PERMALINK);
        $plink = str_replace('%parent%', $parent, $plink);
        $plink = str_replace('%slug%', $slug, $plink);
        $url = $full . $plink;
    }

    return (string)$url;
}

Настройки у Вас точно такие же, как у меня, и ошибка тоже есть в http://demo.getsimplethemes.ru/building … evel-menu/

Поделиться