кастом сортировки и теги
Posted: Mon Feb 09, 2015 5:49 pm
Столкнулся с такой задачей
TradeCMS 2
нужно сделать нестандартные сортировки вида
date = p-video
duration = l-video
и т.д.
стандартные модреврайты
RewriteRule ^tag/(.*)/$ /папка-скрипта/tube/index.php?tag=$1 [L]
RewriteRule ^search/(.*)/(.*)/(.*)/(.*).html$ /папка-скрипта/tube/index.php?search_type=$1&search=$2&order=$3&page=$4
прописал в common.php правила
if ($_GET['order'] == 'l-video') $_GET['order'] = 'duration';
if ($_GET['order'] == 'duration') $GLOBALS['my_var'] = 'l-video';
if ($_GET['order'] == 'p-video') $_GET['order'] = 'ctr';
if ($_GET['order'] == 'ctr') $GLOBALS['my_var'] = 'p-video';
if ($_GET['order'] == 'd-video') $_GET['order'] = 'date';
if ($_GET['order'] == 'date') $GLOBALS['my_var'] = 'd-video';
в пагинации поискового темплейта смартсж пробовал разные варианты
1)
<a href="/search/<!--SEARCH_TYPE-->/<!--SEARCH_QUERY-->/<!--SORT_ORDER-->/<!--PAGE_NUM-->.html"><!--PAGE_NUM--></a>
2)
<a href="/search/<!--SEARCH_TYPE-->/<!--SEARCH_QUERY-->/<?=$GLOBALS['my_var']?>/<!--PAGE_NUM-->.html"><!--PAGE_NUM--></a>
3)
<a href="/search/<!--SEARCH_TYPE-->/<!--SEARCH_QUERY-->/p-video/<!--PAGE_NUM-->.html"><!--PAGE_NUM--></a>
второй и третий вариант пагинации более предпочтителен, т.к. мне нужны ссылки вида
/search/query/blonde/p-video/1.html - для поиска
и для тегов
/search/tag/blonde/p-video/1.html
кое как добился корректной работы пагинации на серче, когда вручную пишу сортировку
<a href="/search/<!--SEARCH_TYPE-->/<!--SEARCH_QUERY-->/p-video/<!--PAGE_NUM-->.html"><!--PAGE_NUM--></a>
НО теги не пашут все время вылазит ошибка
Warning: array_keys() expects parameter 1 to be array, string given in /home/ПУТЬ К СКРИПТУ/includes/libs/functions.php on line 0
подскажите как исправить баг и в каком направлении искать, по модреврайтам я разные пробовал варианты, просто это поломалось после того как поставил кастомные сортировки, со стандартными работает.
Главное чтобы вот такая ссылка работала
/search/tag/blonde/p-video/1.html
TradeCMS 2
нужно сделать нестандартные сортировки вида
date = p-video
duration = l-video
и т.д.
стандартные модреврайты
RewriteRule ^tag/(.*)/$ /папка-скрипта/tube/index.php?tag=$1 [L]
RewriteRule ^search/(.*)/(.*)/(.*)/(.*).html$ /папка-скрипта/tube/index.php?search_type=$1&search=$2&order=$3&page=$4
прописал в common.php правила
if ($_GET['order'] == 'l-video') $_GET['order'] = 'duration';
if ($_GET['order'] == 'duration') $GLOBALS['my_var'] = 'l-video';
if ($_GET['order'] == 'p-video') $_GET['order'] = 'ctr';
if ($_GET['order'] == 'ctr') $GLOBALS['my_var'] = 'p-video';
if ($_GET['order'] == 'd-video') $_GET['order'] = 'date';
if ($_GET['order'] == 'date') $GLOBALS['my_var'] = 'd-video';
в пагинации поискового темплейта смартсж пробовал разные варианты
1)
<a href="/search/<!--SEARCH_TYPE-->/<!--SEARCH_QUERY-->/<!--SORT_ORDER-->/<!--PAGE_NUM-->.html"><!--PAGE_NUM--></a>
2)
<a href="/search/<!--SEARCH_TYPE-->/<!--SEARCH_QUERY-->/<?=$GLOBALS['my_var']?>/<!--PAGE_NUM-->.html"><!--PAGE_NUM--></a>
3)
<a href="/search/<!--SEARCH_TYPE-->/<!--SEARCH_QUERY-->/p-video/<!--PAGE_NUM-->.html"><!--PAGE_NUM--></a>
второй и третий вариант пагинации более предпочтителен, т.к. мне нужны ссылки вида
/search/query/blonde/p-video/1.html - для поиска
и для тегов
/search/tag/blonde/p-video/1.html
кое как добился корректной работы пагинации на серче, когда вручную пишу сортировку
<a href="/search/<!--SEARCH_TYPE-->/<!--SEARCH_QUERY-->/p-video/<!--PAGE_NUM-->.html"><!--PAGE_NUM--></a>
НО теги не пашут все время вылазит ошибка
Warning: array_keys() expects parameter 1 to be array, string given in /home/ПУТЬ К СКРИПТУ/includes/libs/functions.php on line 0
подскажите как исправить баг и в каком направлении искать, по модреврайтам я разные пробовал варианты, просто это поломалось после того как поставил кастомные сортировки, со стандартными работает.
Главное чтобы вот такая ссылка работала
/search/tag/blonde/p-video/1.html