2017-06-13 15 views
0

これは他の人にも役立つことを願っています。 ユーザーが検索バーにカテゴリ/サブカテゴリ名を入力すると、検索バーには何も表示されません。 私は、検索バーと一緒にカテゴリ/サブカテゴリを選択するための別のフィールドがあることを知っていますが、私のケースでは私は単一の検索バーしか持っていませんし、カテゴリ/サブカテゴリ名を入力して検索すると、私はカテゴリ/サブカテゴリに項目があるにもかかわらず見つけました。 解決策を教えてくれる人がいらっしゃいますか?osclassの検索バーにユーザーがカテゴリ名を入力した場合は、何も表示されません

答えて

0

osclassの検索はタイトルと説明のみで作成されています。カテゴリ名を説明に挿入すると、必要に応じて機能します。あなたのテーマののfunctions.phpファイルで

、末尾に追加

<?php 
function endsWith($haystack, $needle) 
{ 
$length = strlen($needle); 

return $length === 0 || 
(substr($haystack, -$length) === $needle); 
} 
function mc_addcategory($desc, $catId) { 
$Cat = Category::newInstance()->toRootTree($catId); 
$d = '\n\n '; 
foreach($Cat as $c) { 
$d = $d . $c["s_name"] .'/'; 
} 
if(endsWith($desc, $d)) 
return $desc; 
else return $desc . $d; 
} 
function mc_filter_description($aItem) { 

    foreach(@$aItem['description'] as $key => $value) { 
     $aItem['description'][$key] = mc_addcategory($value,$aItem['catId']); 
    } 

    return $aItem; 
} 

osc_add_filter('item_add_prepare_data', 'mc_filter_description'); 
osc_add_filter('item_edit_prepare_data', 'mc_filter_description'); 
?> 

ステップ2

あなたは公衆にし、所有者に説明を表示する際の記述から追加されたテキストを削除したいですそれがhiのアイテムを編集するとき。 あなたがのfunctions.php

<?php 
    function mc_hide_categ_in_description($desc, $catId) { 

    $Cat = Category::newInstance()->toRootTree($catId); 
    $d = '\n\n '; 
    foreach($Cat as $c) { 
    $d = $d . $c["s_name"] .'/'; 
    } 
    if(endsWith($desc, $d)) 
    return str_replace($d,'',$desc); 
    else return $desc; 
    } 
?> 

に上記のコードの前にこれを入れて機能 でそれを行うと説明が表示され、この関数を呼び出すことができます。こちらをご覧

How to modify ft_min_word_len=4 to ft_min_word_len=1 so that osclass 3.7.1 can search min 1 character word, instead of 4?

そして、私が説明のための「removeunderline(」呼び出し場所を確認しています。

OBS

この後は、各項目を編集して保存することで、あなたのデシベルの記述を更新する必要があります。 アイテムが編集され、そのカテゴリがユーザによって変更された場合、これは動作します

管理者が編集を行い、上記の機能をoc-admin/themesから呼び出せない場合/ modern ...ファイルの場合、上記の最後の関数は/oc-includes/osclass/helpers/hSearch.phpに置かれ、functions.phpファイルから削除されなければなりません。

関連する問題