Jar
Новичок
- Добрый день есть сайт на kohana framework мне он достался под эгидой микроразметку внесите. Недавно поиск стал выдавать 404 ошибку подозреваю, что это связано с маршрутами в bootstrap.php Помогите разобраться: Есть контролер search
PHP:
defined('SYSPATH') or die('No direct script access.');
$tutors = array();
$elements = null;
class Controller_Search extends Controller_Main {
public function before() {
parent::before();
}
public function action_index($lang) {
$page = ORM::factory('pub')->get_menu_by_controller('search');
$q = mb_strtolower(urldecode($_GET["q"]), 'UTF-8');
if (!$q or strLen($q) < 2) {
$products = array();
} else {
$q = htmlspecialchars(Arr::get($_GET, 'q', ''));
$search_string = $q;
$q = trim(str_replace('+', ' ', $q));
$pcount = orm::factory("product")
->where("watch", "=", "1")
->and_where_open()
->where("name", DB::expr("LIKE"), "%$q%")
->or_where("articul", DB::expr("LIKE"), "%$q%")
->or_where("id", DB::expr("LIKE"), "%$q%")
->and_where_close()
->count_all();
if ($pcount > 0) {
$pagination_set = Kohana::config('pagination.products');
$pagination_set['total_items'] = $pcount; // count($products);
$this->pagination = new Pagination($pagination_set);
Выполнить код
Есть шаблон страницы search.tpl:
<div class="container-fluid" itemscope itemtype="http://schema.org/WebSite">
<meta itemprop="name" content="magnova">
<meta itemprop="position" content="1">
<meta itemprop="url" content="https://mangova.com.ua/">
<div class="container-fluid" itemprop="potentialAction" itemscope itemtype="http://schema.org/SearchAction">
<meta itemprop="target" content="https://mangova.com.ua/search?q={search_term_string}">
<meta itemprop="query-input" content="required name=search_term_string">
<section id="shop" class="shop">
<div class="shop__heading">
<span>Результаты поиска по фразе "{$q}" (найдено {count($products)} товаров)</span>
{*<a class="filter__toggle">Фильтр <i class="fa fa-angle-down"></i></a>*}
<div class="catalog-type">
{__("row_photos")}
<a class="btn{if $gt_grid_viw=='catalog-two'} catalog-type--active{/if}" data-i="4" data-value="catalog-two">2</a>
<a class="btn{if $gt_grid_viw=='catalog-three'} catalog-type--active{/if}" data-i="3" data-value="catalog-three">3</a>
<a class="btn{if $gt_grid_viw=='catalog-five'} catalog-type--active{/if}" data-i="5" data-value="catalog-five">5</a>
</div>
</div>
<div class="catalog loading-content">
<div class="catalog__list loading-list clearfix {$gt_grid_viw}">
{include file="pices/products.tpl"}
</div>
{if $pagination->next_page}
<div class="panel-pager">
<a href="{$pagination->url($pagination->next_page)}" class="btn btn-primary load-next catalog-load-next">
<span>{__("show_more")}</span>
</a>
</div>
{/if}
</div>
{if count($products)>0}
<div id="pager" class="catalog_pgs">
{$pagination->render()}
</div>
{/if}
{$page->$text}
</section>
{include file="body/pages_text.tpl"}
</div>
Выполнить код
В файле bootstrap.php есть маршрут:
Route::set('search', '(/)(<lang>)(/)search:q', array(
))
->defaults(array(
'controller' => 'search',
'action' => 'index'
));
Ссылка поиска: mangova.com.ua/search?q=Брюки
Последнее редактирование модератором: