Я использую php-маршрутизацию, чтобы захватить связанную категорию, назначенную записи (в CMS Expression Engine), и вставить ее в соответствующее место в URL. То, что у меня есть ниже, работает хорошо, однако мне нужно настроить этот код так, чтобы он принимал несколько названий категорий. В настоящее время он делает это только для «красоты», но мне также нужно, чтобы он делал то же самое для 4 других: волос, ногтей, оборудования, мебели.
Я не эксперт в области php, поэтому мои попытки изменить это провалились.
Любая помощь приветствуется!
{exp:search:search_results}
<?php $autoPath = '{auto_path}';
$lastSegment = basename($autoPath);
//Beauty URL update, based on the category assigned to the entry
if(strpos($autoPath, 'beauty')){
//variable to assign the category to the appropriate URL segment for the Rule
$catVar = 1;
$basename = 'catPath';
?>
{categories}
<?php
$tempname = $basename.$catVar;
$$tempname = "{category_url_title}";
$catVar++;
?>
{/categories}
<?php $autoPath = "http://www.my.site/products/"."beauty/$catPath1/$lastSegment";
} ?>
<h3><a href="<?php echo $autoPath; ?>" title="{title}">{title}</a></h3>
Чтобы объяснить дальше ..
URL страницы для каждого продукта выглядят так:
site.com/product-range/beauty/марка/ beautyproduct1
site.com/product-range/hair/марка/ hairproduct1
Красота, волосы, ногти и т. Д. Являются категориями. Внутри каждой из этих категорий есть все связанные бренды.
Ссылка на товар (запись в cms) выглядит так:
HREF = «/ красота / {категории} {category_url_title} {/ категории} / {url_title}»
Теперь с функцией поиска, чтобы получить результаты, которые вы используете
<a href="{auto_path}">{title}</a>
Что это производит:
site.com/product-range/beauty/beautyproduct1
..который исключает «бренд», поскольку все бренды являются «категориями» и не вставляются автоматически в URL. Код, приведенный выше, показывает, какая категория присваивается продукту (в данном случае «Красота»), а затем добавляет соответствующий «бренд» в нужное место в URL.
Поэтому мне просто нужно обновить код, чтобы он давал тот же результат, но включал в себя несколько других категорий (волосы, ногти, оборудование, мебель).
Задача ещё не решена.
Других решений пока нет …