Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум для разработчиков сайтов на GetSimple CMS
Оставьте отзыв о GetSimple CMS Русская Wiki Перейти на сайт
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
GetSimple CMS по-русски → Компоненты, дополнительные функции и скрипты → Порядок сортировки товаров на плагине 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'=>'-имя_вашего_поля' — по убыванию;
а для сортировки меню есть ссылка справа Редактировать структуру меню
Сейчас стоит сортировка 'order'=>'+menuOrder', но "Редактировать структуру меню" не работает. То есть перетаскиваешь страницу, нажимаешь сохранить. Смотришь - ничего не сохранилось.
Тогда вопрос. В чем может быть причина, что не сохраняется структура меню?
Может права доступа поменять к какому ту файлу?
может быть вы не ту страницу перетаскиваете?
ту :-) вернее я все уже пробовал. Поэтому и задал вопрос - может как то из опций страницы можно изменить menuOrder
ничего не изменилось в результатах поиска или в редакторе структуры меню? попробуйте заменить параметр поиска на другой
Не меняется ни в меню, ни в результатах поиска. Если заменить параметр поиска, то тогда точно не будет выводить в нужно порядке.
Пока что, вышел из ситуации дополнительным полем в свойствах товара и параметром
'order'=>'+имя_вашего_поля'
может быть ошибки какие-то появляются в логах? странно что не меняется порядок меню
У меня в админке тоже не сохраняет порядок меню... Глюк начался после 200х созданных страниц. Сортирую и переименовываю пункты меню как мне нужно и жму "сохранить", появляется табличку "Порядок успешно сохранен", обновляется страница и все также как и было...
скорее всего CMS все-таки не рассчитана на такое количество страниц, я попробовал на сайте с 700 страницами и тоже не смог изменить порядок меню, хорошо, что мне этого и не требуется
Олег, написал Мартину, решили проблему. В общем, как я понял, плагин сортирует меню отправляя 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 или просто у меня руки из задницы?
я когда-то сталкивался с вашей проблемой, но уже не помню что, было не так возможно мешает какой-либо плагин
сейчас у меня работает %parents%/%slug%/ ничего не редактировал
http://demo.getsimplethemes.ru/finance- … evel-menu/
а за найденное решение спасибо, хотя мне тоже не ясно, как можно перезагрузить сервер
Если Вы о ручной перезагрузке (то есть, как вообще перезагрузить) и у Вас установлена ISP панель на сервере, то есть кнопочка слева http://screenshot.net/qywxva4 Про другие панели не знаю. Написал о проблеме с ЧПУ Мартину, чувствую, что задолбал я его...) Ну не может быть конфликт плагинов, так как все плагины от Мартина стоят
http://screenshot.net/qpolxbm
P.S. У Вас косяк в верстке на устройствах с малым разрешением... Вчера с телефона заметил - http://screenshot.net/lmvrdsv http://screenshot.net/0gv7ku8
спасибо за подсказку, я с мобильных устройств в инет не хожу , но поправить надо
Есть такая проблема с этим плагином
1) <?php get_i18n_header(); ?> вставил в самом шаблоне
2) в настройках ЧПУ %parents%/%slug%/ прописал
3) php.ini изменил, сервер перезапустил - просмотр из админки в урле site.ru/razdel/drugoj-razdel/
в хлебных крошках, похожих страницах, в сайдбаре ссылки вида site.ru/%parents%/drugoj-razdel/
Не могу понять в чем дело?
Решилось просто - %parent%/%slug%/
%parents%/%slug%/ - использует в ссылках полные адреса с любым уровнем вложенности, а %parent%/%slug%/ показывает только одну родительскую страницу
Господи, спасибо тому, что я пишу решения на форумах. Начал гуглить проблему и наткнулся, угадайте, на чей пост? Правильно, на свой)))
Дабы не флудить, напишу ещё одну полезность, которую я открыл для себя. Да-да, я очень люблю ГетСимпл и 99% своих сайтов делаю на нём и когда я обучаю своих прогеров работать с ним, то ощущаю себя на уровне этого чувака из фильма "Хранители" (кстати, очень годный фильм, рекомендую к просмотру)
Так вот. У клиента есть сайт, он его заполнил аж до целых 300+ сраниц. И тут он мне звонит и говорит "Лёха, нужно поменять структуру меню. Мне нужно поменять родительские станицы местами."
Захожу в "Редактировать структуру меню" и...
Конечно же я решил зайти в саму страницу и, используя эту опцию, поменять сортировку в меню
Но мои родительские страницы не простые, а спецстраницы. Захожу я, значит, в спецстраницы и вижу боль. БОЛЬ.
"Какого полового органа???", подумал я. И уже начал лазить по файлам плагина i18n, чтобы найти xml, отвечающий за порядок меню. И тут меня дёрнул чёрт...
Да-да, автор плагина зачем-то прописал display:none этим пунктам. Сначала я думал, что это не будут работать и рано я радовался. Но нет, всё заработало и я изменил сортировку так как мне надо)))
Надеюсь этот нескучный пост с картинками немного поднимет настроение форумчанам)
а ларчик просто открывался
http://prntscr.com/f6b48y
я когда-то сталкивался с вашей проблемой, но уже не помню что, было не так
возможно мешает какой-либо плагин
сейчас у меня работает %parents%/%slug%/ ничего не редактировал
http://demo.getsimplethemes.ru/finance- … evel-menu/
Добрый день.
А не покажете, какой функцией в вашем примере хлебные крошки генерируются?
Столкнулся с такой же проблемой - вставляет %parents% прямо в URL вместо адреса страницы. Проявляется это на спец.страницах и в хлебных крошках. С первым разобрался - причина в использовании simplelink, если просто link - все работает.
Со вторым вопросом сложнее, Хлебные крошки выводятся функцией Innovation_Parent_Link, тут еще проблема, что она только 1 уровень дает, а не все.
При этом define('I18N_SINGLE_LANGUAGE', true); влияния на такое поведение не оказывает.
в шаблоне использован плагин 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>
Спасибо, отличный плагин, буду пользоваться.
Самое смешное, что %parents% из ссылок не ушло((
Это точно связано с настройкой ЧПУ %parents%/%slug%/ , потому что если использовать %parent%/%slug%/, то нет такой ошибки, но уровней только 2 остается, иерархия рушится.
в шаблоне использован плагин 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 при построении меню и хлебных крошек эту функцию не использует и ошибок этого рода не возникает.
Решение будет позже, видимо модификацией этих строк. Неужели никто, кроме меня и еще пары человек с форума, с этим не сталкивался? Ведь этот вопрос уже задавали тут, но ответа нет.
Собственно решение:
Нужно модифицировать функцию 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;
}
У меня работает, если кто желает подтвердить теорию практикой, буду рад, если недоработка подтвердится, то может и до разработчиков донести сие упущение стоит?
я обычно не использую длинные адреса страниц, но вот здесь http://demo.getsimplethemes.ru/building … evel-menu/ все работает и без вашего предложения, http://prntscr.com/l8z6ty
и здесь тоже http://motolist.ru/mototexnika-velorex/ … x-562.html
Ну вот и странно все, у меня 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/
Чтобы отправить ответ, вы должны войти или зарегистрироваться
GetSimple CMS по-русски → Компоненты, дополнительные функции и скрипты → Порядок сортировки товаров на плагине I18N
Форум работает на PunBB, при поддержке Informer Technologies, Inc