

Простенький модуль ЧПУ, версия 2
#141
Отправлено 04 октября 2016 - 18:09
#142
Отправлено 04 октября 2016 - 18:59
Например, для полной новости:
<link rel="canonical" href="{$smarty.const.CONF_FULL_SHOP_URL}{$smarty.const.ARTICLES_ROOT}/{$articles_full_array.uri}.html">я вывел так в head.tpl.html:
{if $main_content_template eq "show_full_articles.tpl.html"} <link rel="canonical" href="{$smarty.const.CONF_FULL_SHOP_URL}{$smarty.const.ARTICLES_ROOT}/{$articles_full_array.uri}.html"> {/if}С остальными страницами аналогично.
#144
Отправлено 04 октября 2016 - 22:40
{if $main_content_template eq "product_detailed.tpl.html"} <link rel="canonical" href="{$smarty.const.CONF_FULL_SHOP_URL}{if $product_info.cpu eq ''}/{/if}product_{$product_info.productID}.html"> {/if}Да, чуть не забыл, вывод product_info["cpu"] прописывал в product_detailed.php - там ничего сложного нет.
PS. Наверное, забыл. Посмотрел только что - никаких дописок не нашел (
#145
Отправлено 05 октября 2016 - 17:03
#146
Отправлено 06 октября 2016 - 15:08
#147
Отправлено 21 марта 2017 - 13:52
ERROR: 1054:Unknown column 'dahx_products.uri' in 'field list'И ее в таблице действительно нет. Ошибок из шапки темы не наблюдаю.
#148
Отправлено 21 марта 2017 - 15:33
Цитата
Цитата
А раз запрос с этим полем есть, но поля такого в таблице нет, значит Вы поверх нового пустого сайта раскатали базу и файлы от старого сайта.
Не самая лучшая идея - устанавливать еще один ЧПУ-модуль поверх сайта с уже имеющимся кодом другого ЧПУ-модуля.
#149
Отправлено 22 марта 2017 - 12:01
Цитата
#150
Отправлено 12 июня 2017 - 22:53
Но что можно достигнуть при переходе - это отсутствие лишних запросов к базе т.к. сама ссылка будет храниться в той же таблице, что и категория или товар и при запросе товара ссылка будет получаться автоматически и без лишних запросов.
#151
Отправлено 13 июня 2017 - 10:09
Цитата
Цитата
Другими словами, для того, что Вы хотите надо (1) заметно глубже влезать в потроха ShoCMS, хотя это и не сложно. Просто чтобы ЧПУ-ссылка изначально (и тем же запросом) была в массиве информации от категории, товаре, странице, новости. (2) модифицировать КАЖДЫЙ сторонний модуль, где есть ссылки. Правда, для трикивебовского их и тоже надо модифицировать.
#152
Отправлено 13 июня 2017 - 19:54
Со временем думаю, вообще убрать функцию replace_to_cpu, а файлы index.php и index_old.php снова объединить в один.
Все чпу ссылки уже разнесены по соотв. таблицам и берутся оттуда, а таблица cpu еще используется для функции replace_from_cpu.
Кеширование SMARTY тоже включено и корректно работает для поисковых ботов.
#153
Отправлено 13 июня 2017 - 20:27
Сейчас (опыт, знания) я не вижу в этом никакой проблемы - выводить в шаблон не product_{$product_info.ProductID}.html, а сразу {$product_info.url}, который будет сформирован еще на PHP-уровне и без дополнительных SQL-запросов.
Несколько изменений (вполне конечное количество, около десятка) в PHP-коде и кууууча правок в шаблоне, абсолютно единообразных. И в каждом стороннем модуле, имеющем ссылки - как в PHP, так и в шаблоне.
#154
Отправлено 13 июня 2017 - 20:47
#155
Отправлено 17 июня 2017 - 15:11
'"feedback.html' => '"/feedback.html',Не проще исправить это один раз в шаблоне(добавить слеш)?
Также непонятна идея хранить в базе ЧПУ с начальным слешем в каждой строке адреса.
Из-за этого возникают некоторые неприятности с двойными слешами при попытке вывести тег canonical и т.:
<link rel="canonical" href="https://mykrasa.com{if $product_info.cpu}{$product_info.cpu}...не говоря уже о совершенно лишних данных в базе, но и приходится в таких местах изворачиваться.
Я не в укор, ведь именно при обсуждении можно найти истину.
Использовать {$smarty.const.CONF_FULL_SHOP_URL} не удобно т.к. он уже содержит слеш и приходится усекать строку чтобы он не удваивался.
#156
Отправлено 17 июня 2017 - 18:13
Цитата
Цитата
Возможно, дело в том, что ссылка из .htaccess передается именно со слэшем в начале.
Упрощается код поиска.
Цитата
Цитата