ЧПУ для ShopCMS
#201
Отправлено 04 February 2012 - 09:26 PM
вот так всегда - все гениальное просто!))
Спасибо огромное! Отписал в ЛС)
#202
Отправлено 10 February 2012 - 02:13 PM
а в robots.php
User-Agent: *
Disallow: /index.php?
Disallow: /?
Disallow: /cart.html
Disallow: /wide_search.html
Disallow: /feedback.html
Disallow: /compare.html
Sitemap: http://site.ru/sitemap.xml
#203
Отправлено 10 February 2012 - 02:30 PM
Ошибся в строчке .htaccess-а, нужно так: RewriteRule ^sitemap\.xml$ /xml_sitemap.php [L]Хелп. Все сделал исправления проделал.
Внимательнее нужно быть...
#204
Отправлено 11 February 2012 - 04:43 PM
Переименовал файл admin.php, заменил в init.php - все работает, но чпу больше не генерируется...
У формы прописано: admin.php?dpt=modules&sub=url_rewriter, где поменять можно?
---------- Сообщение объединено ----------
Все, нашел. Нужно заменить в файле /core/tpl/admin/url_rewriter.tpl.html admin.php
#205
Отправлено 11 February 2012 - 09:27 PM
# BEGIN Human friendly URL's
RewriteRule ^catalog/([^/]*)$ index.php?uri=$1&uriFor=category [L]
RewriteRule ^catalog/([^/]*)/([^/]*)/([^/]*)$ index.php?uri=$3&uriFor=product [L]
RewriteRule ^catalog/([^/]*)/([^/]*)$ index.php?uri=$2&uriFor=product [L]
RewriteRule ^news/([^/]*)$ index.php?uri=$1&uriFor=news [L]
RewriteRule ^pages/([^/]*)$ index.php?uri=$1&uriFor=pages [L]
# END Human friendly URL's
В этом фрагменте нужно заменить catalog, news, pages
на нужные корни соотв. разделов.
На что надо заменить catalog, news, pages?
#206
Отправлено 11 February 2012 - 10:35 PM
Заменять не обязательно. Если Вы не хотите чтобы каталог товаров открывался по адресу вашсайт.ру/catalog то можете вместо catalog написать katalog_tovarov и получите ссылку вашсайт.ру/katalog_tovarov
Одним словом, если Вас не устраивает слово "catalog" можете его изменить на Ваше усмотрение.
#207
Отправлено 13 February 2012 - 02:02 PM
ааа хелп у меня в каталоге не переходит на страницы не актуальная
в чем может быть проблема??
Ошибок в отчете нету.
Все нашел решение отредактировал .htaccess
#208
Отправлено 18 February 2012 - 10:09 AM
- shopping_cart.tpl.html найти: {if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$cart_content[i].productID}.html{else}{$cart_php_file}?productID={$cart_content[i].productID}{/if} заменить на: {$cart_content[i]|@fu_make_url}
Хоть убей, не могу найти такой код в shopping_cart.tpl.html. Шаблон - default.
#209
Отправлено 18 February 2012 - 12:29 PM
Все правильно, там его нет.. Исправляйте только одну строчку в shopping_cart.tpl.htmlХоть убей, не могу найти такой код в shopping_cart.tpl.html. Шаблон - default.
#210
Отправлено 26 February 2012 - 11:25 AM
В общем не работает навигация по страницам после писка с помощью фильтра. В категориях все работает отлично.
Вот какую ссылку я получаю после нажатия на кнопку "подбор" и переходе на след. страницу:
/index.php?categoryID=14&search_name=&search_price_from=1508&search_price_to=4523&old_search_price_from=1508&old_search_price_to=4523¶m_9=15¶m_6=0¶m_8=0&search_in_subcategory=1&advanced_search_in_category=1_offset_10.html
А ссылка должна получаться такой:
/index.php?categoryID=14&search_name=&search_price_from=1508&search_price_to=4523&old_search_price_from=1508&old_search_price_to=4523¶m_9=15¶m_6=0¶m_8=0&search_in_subcategory=1&advanced_search_in_category=1&offset=10
Красным выделены не нужные участки кода...
Вот код из functions.php:
function ShowNavigatormdOld($a, $offset, $q, $path, &$out)
{
//shows navigator [prev] 1 2 3 4 … [next]
//$a - count of elements in the array, which is being navigated
//$offset - current offset in array (showing elements [$offset ... $offset+$q])
//$q - quantity of items per page
//$path - link to the page (f.e: "index.php?categoryID=1&")
if ($a > $q) //if all elements couldn't be placed on the page
{
//[prev]
if ($offset > 0) $out .= "<a href=\"".$path."offset_".($offset - $q).".html\"><< ".STRING_PREVIOUS.
"</a> ";
//digital links
$k = $offset / $q;
//not more than 4 links to the left
$min = $k - 5;
if ($min < 0)
{
$min = 0;
}
else
{
if ($min >= 1)
{ //link on the 1st page
$out .= "<a href=\"".$path."offset_0.html\">1</a> ";
if ($min != 1)
{
$out .= "... ";
}
;
}
}
for ($i = $min; $i < $k; $i++)
{
$m = $i * $q + $q;
if ($m > $a) $m = $a;
$out .= "<a href=\"".$path."offset_".($i * $q).".html\">".($i + 1)."</a> ";
}
//# of current page
if (strcmp($offset, "show_all"))
{
$min = $offset + $q;
if ($min > $a) $min = $a;
$out .= "<b>".($k + 1)."</b> ";
}
else
{
$min = $q;
if ($min > $a) $min = $a;
$out .= "<a href=\"".$path."offset_0.html\">1</a> ";
}
//not more than 5 links to the right
$min = $k + 6;
if ($min > $a / $q)
{
$min = $a / $q;
}
;
for ($i = $k + 1; $i < $min; $i++)
{
$m = $i * $q + $q;
if ($m > $a) $m = $a;
$out .= "<a href=\"".$path."offset_".($i * $q).".html\">".($i + 1)."</a> ";
}
if (ceil($min * $q) < $a)
{ //the last link
if ($min * $q < $a - $q) $out .= "... ";
$out .= "<a href=\"".$path."offset_".($a - $a % $q).".html\">".(floor($a / $q) + 1)."</a> ";
}
//[next]
if (strcmp($offset, "show_all"))
if ($offset < $a - $q) $out .= "<a href=\"".$path."offset_".($offset + $q)."\">".
STRING_NEXT."</a> ";
//[show all]
if (strcmp($offset, "show_all")) $out .= "| <noindex><a href=\"".$path."show_all.html\" rel=\"nofollow\">".
STRING_SHOWALL."</a></noindex>";
else $out .= "| <font class='active'>".STRING_SHOWALL2."</font>";
}
if ($a > $q)
$out .=" ".$a;
else false;
}
---------- Сообщение объединено ----------
Нашел в чем проблема:
нужно заменить в конце значения $path символ "_" на "&". Но вот как это сделать...
#211
Отправлено 26 February 2012 - 11:49 AM
Фильтра по характеристикам?
Характеристикам заданным произвольно или через выбор в выпадающем списке?
и ссылку на сайт пожалуйста в личку или под хайд.
#212
Отправлено 26 February 2012 - 12:03 PM
но дело не в этом, т.к. тут все прекрасно работает:
http://cpu.badisoft.ru/
Наверно я где-то что-то не то вставил, хз...
Я вывожу значение $path в
function ShowNavigatormdOld($a, $offset, $q, $path, &$out)
{
echo ($path);
}
и получаю
index.php?categoryID=14&search_name=&search_price_from=1508&search_price_to=4523&old_search_price_from=1508&old_search_price_to=4523¶m_9=15¶m_6=0¶m_8=0&search_in_subcategory=1&advanced_search_in_category=1_
вот вместо этого мне надо получить advanced_search_in_category=1&
кучу файлов просмотрел, не могу найти "_"
---------- Сообщение объединено ----------
После этой фигни вылезает "_"...
if ( isset($_GET["advanced_search_in_category"]) )
$url .= "&advanced_search_in_category=".$_GET["advanced_search_in_category"];
можно заменить "_" на "&" replace'ом, но хочется сделать все "правильно"
#213
Отправлено 26 February 2012 - 12:10 PM
http://cpu.badisoft.ru/
тут стоит совсем другой модуль ЧПУ, а не тот который обсуждается в этой теме.... прошу не путать и себя и других. Уточните какой модуль стоит у Вас. и ссылку на сайт.
#214
Отправлено 26 February 2012 - 12:52 PM
ой блин, совсем забыл...тут стоит совсем другой модуль ЧПУ, а не тот который обсуждается в этой теме.... прошу не путать и себя и других. Уточните какой модуль стоит у Вас. и ссылку на сайт.
Модуль ЧПУ - этот
Сайт в личке.
Ответ как всегда простой
в файле functions.php нужно заменить
elseif ($urlflag == 1) {ShowNavigatormdOld($count, $offset, $countRowOnPage, html_spchars($url."_"), $out);}
на
elseif ($urlflag == 1) {ShowNavigatormdOld($count, $offset, $countRowOnPage, html_spchars($url."&"), $out);}
и в функции ShowNavigatormdOld заменить все "offset_" на "offset="
вот теперь все работает!
#215
Отправлено 26 February 2012 - 01:21 PM
#216
Отправлено 26 February 2012 - 01:46 PM
и навигация нормально работает без нее?Интересно то, что у меня нет это функции вообще.....
---------- Сообщение объединено ----------
Как я понимаю, функция ShowNavigatormd работает на странице категории, а ShowNavigatormdOld на странице с результатами расширенного поиска и наконец функция ShowNavigator работает на странице с результатами простого поиска (index.php?searchstring=).
#217
Отправлено 26 February 2012 - 02:35 PM
Может, это внесенная с каким-то шаблоном функция? У меня при дефолтовом шаблоне ее тоже нет.в функции ShowNavigatormdOld
Соответственно, никто исправления в модуле ЧПУ для этой функции и не делал.
#218
Отправлено 01 March 2012 - 09:54 PM
4. Добавить в конец файла .htaccess следующие строки:
# BEGIN Human friendly URL's
RewriteRule ^catalog/([^/]*)$ index.php?uri=$1&uriFor=category [L]
RewriteRule ^catalog/([^/]*)/([^/]*)/([^/]*)$ index.php?uri=$3&uriFor=product [L]
RewriteRule ^catalog/([^/]*)/([^/]*)$ index.php?uri=$2&uriFor=product [L]
RewriteRule ^news/([^/]*)$ index.php?uri=$1&uriFor=news [L]
RewriteRule ^pages/([^/]*)$ index.php?uri=$1&uriFor=pages [L]
# END Human friendly URL's
"В этом фрагменте нужно заменить catalog, news, pages
на нужные корни соотв. разделов." -Как следует понимать это, не ясно, что на, что менять?!:confused:
5. Отредактировать файл url_rewriter.php:
Найти строку "// Корневые разделы ЧПУ ссылок", и после нее заменить
catalog, news, pages на нужные корни соотв. разделов
(те же, что были заданы в .htaccess)
#219
Отправлено 01 March 2012 - 10:33 PM
Не ленитесь, почитайте тему. Я, конечно, понимаю, что это не так быстро, но зато многие вопросы отпадут сами, да и с установкой других модулей проблем будет меньше... Прежде всего установите галку "Очистить кэш" в Общих настройках Админки, а потом уже заливайте файлы. Когда все стабильно запустится, можете галку выключить. Еще полезно почистить кэш браузера.При заливке файлов на хост, модуль в админке не появляется, что я не так делаю ?
Если вас устраивают эти приставки (как они есть), то просто не меняйте ничего, касательно этого в .htaccess и в url_rewriter.php..."В этом фрагменте нужно заменить catalog, news, pages
на нужные корни соотв. разделов." -Как следует понимать это, не ясно, что на, что менять?!
#220
Отправлено 05 March 2012 - 02:09 PM
Нахожу несколько тем с модулем ЧПУ, но не понятно какая из них самая актуальная (последняя, рабочая). Не хочется методом тыка это узнавать. Погомогите определиться.