Все про Osclass

Статус
В этой теме нельзя размещать новые ответы.
Полечил ли кто search.php, чтобы в левом меню параметров поиска можно было добавить <div> c категориями/подкатегориями и пользовательских полей ( <!-- PLUGIN HOOKS -->) ? Спасибо. Простое копирование кода из файла item-post.php категории и пользовательские крюки выводит, но не функционирует.
Привет! подскажи ты смог вставить <div> c категориями/подкатегориями в боковой поиск чтобы работало, я уже неделю мучаюсь не что не получаеться. если кто то сделал подскажите у меня тема зара
 
Последнее редактирование:
Привет! подскажи ты смог вставить <div> c категориями/подкатегориями в боковой поиск чтобы работало, я уже неделю мучаюсь не что не получаеться. если кто то сделал подскажите у меня тема зара
Привет. Сам мучаюсь. Вот этот код из osclasswizards покажет все категории в столбик , если вставишь его в файл search.php туда, где у тебя начинается левое меню с параметрами поиска...
Код:
  <!-- CATEGORY -->
  <div class="block mobile_hide_cat">
  <h2>
  <?php _e('Refine category', 'veronika') ; ?>
  </h2>
  <section>
  <div class="search_filter">
  <?php veronika_sidebar_category_search($category['pk_i_id']); ?>
  </div>
  </section>
  </div>
  <!-- CATEGORY -->

Если тема твоя zara, то замени слова veronika на zara и добавь эту функцию себе в functions.php (тоже поправь под zara). Имено этот код выводит список категорий. Нужно создать свой css и определить там <ul> и <li> которые ты видишь в коде, приведенном ниже...

Код:
function veronika_sidebar_category_search($catId = null)
{
  $aCategories = array();
  if($catId==null) {
  $aCategories[] = Category::newInstance()->findRootCategoriesEnabled();
  } else {
  // if parent category, only show parent categories
  $aCategories = Category::newInstance()->toRootTree($catId);
  end($aCategories);
  $cat = current($aCategories);
  // if is parent of some category
  $childCategories = Category::newInstance()->findSubcategoriesEnabled($cat['pk_i_id']);
  if(count($childCategories) > 0) {
  $aCategories[] = $childCategories;
  }
  }

  if(count($aCategories) == 0) {
  return "";
  }

  veronika_print_sidebar_category_search($aCategories, $catId);
}

function veronika_print_sidebar_category_search($aCategories, $current_category = null, $i = 0)
{
  $class = '';
  if(!isset($aCategories[$i])) {
  return null;
  }

  if($i===0) {
  $class = 'class="category"';
  }

  $c  = $aCategories[$i];
  $i++;
  if(!isset($c['pk_i_id'])) {
  echo '<ul '.$class.'>';
  if($i==1) {
  echo '<li><a href="'.osc_esc_html(osc_update_search_url(array('sCategory'=>null, 'iPage'=>null))).'">'.__('All categories', 'veronika')."</a></li>";
  }
  foreach($c as $key => $value) {
  ?>
<li> <a id="cat_<?php echo osc_esc_html($value['pk_i_id']);?>" href="<?php echo osc_esc_html(osc_update_search_url(array('sCategory'=> $value['pk_i_id'], 'iPage'=>null))); ?>">
  <?php if(isset($current_category) && $current_category == $value['pk_i_id']){ echo '<strong>'.$value['s_name'].'</strong>'; }
  else{ echo $value['s_name']; } ?>
  </a> </li>
<?php
  }
  if($i==1) {
  echo "</ul>";
  } else {
  echo "</ul>";
  }
  } else {
  ?>
<ul <?php echo $class;?>>
  <?php if($i==1) { ?>
  <li><a href="<?php echo osc_esc_html(osc_update_search_url(array('sCategory'=>null, 'iPage'=>null))); ?>">
  <?php _e('All categories', 'veronika'); ?>
  </a></li>
  <?php } ?>
  <li> <a id="cat_<?php echo osc_esc_html($c['pk_i_id']);?>" href="<?php echo osc_esc_html(osc_update_search_url(array('sCategory'=> $c['pk_i_id'], 'iPage'=>null))); ?>">
  <?php if(isset($current_category) && $current_category == $c['pk_i_id']){ echo '<strong>'.$c['s_name'].'</strong>'; }
  else{ echo $c['s_name']; } ?>
  </a>
  <?php veronika_print_sidebar_category_search($aCategories, $current_category, $i); ?>
  </li>
  <?php if($i==1) { ?>
  <?php } ?>
</ul>
<?php
  }
}
 
Кто вылечил сортировку пользовательских полей (переменных), чтобы в админке их можно было сортировать перетаскивая также, как перетаскиваем названия категорий/подкатегорий?
 
Всем привет, есть у кого нибудь идеи как замутить нечто такое на основном поиске в теме вероника?
Подскажите как такое осуществить)

Снимок.JPG
 
HELP. После установки новой вероники image-0-02-05-fa677c0bdfa440126c29a9b69e83fc46644d642c49d12dfff177bd2d7bb7335a-V.jpg
Что делать?
 
как исправить в веронике,на странице поиска ,когда переключаешь частное лицо или компания поиск пустой
 
как исправить в веронике,на странице поиска ,когда переключаешь частное лицо или компания поиск пустой
Наврал, вот решение
перейти в oc-content/themes/veronika/functions.php
Находим функцию mb_filter_extend и заменяем на
Код:
function mb_filter_extend() {
  // SEARCH - ALL - INDIVIDUAL - COMPANY TYPE
  Search::newInstance()->addJoinTable( 'pk_i_id', DB_TABLE_PREFIX.'t_item_veronika', DB_TABLE_PREFIX.'t_item.pk_i_id = '.DB_TABLE_PREFIX.'t_item_veronika.fk_i_item_id', 'LEFT OUTER' ) ; // Mod

  // SEARCH - TRANSACTION
  if(Params::getParam('sTransaction') <> '') {
    Search::newInstance()->addConditions(sprintf("%st_item_veronika.i_transaction = %d", DB_TABLE_PREFIX, Params::getParam('sTransaction')));
  }


  // SEARCH - CONDITION
  if(Params::getParam('sCondition') <> '') {
    Search::newInstance()->addConditions(sprintf("%st_item_veronika.i_condition = %d", DB_TABLE_PREFIX, Params::getParam('sCondition')));
  }


  // SEARCH - PERIOD
  if(Params::getParam('sPeriod') <> '') {
    $date_from = date('Y-m-d', strtotime(' -' . Params::getParam('sPeriod') . ' day', time()));
   
    Search::newInstance()->addConditions(sprintf('cast(%st_item.dt_pub_date as date) > "%s"', DB_TABLE_PREFIX, $date_from));
  }


  // SEARCH - COMPANY
  if(Params::getParam('sCompany') <> '' and Params::getParam('sCompany') <> null) {
    Search::newInstance()->addJoinTable( 'pk_i_id', DB_TABLE_PREFIX.'t_user', DB_TABLE_PREFIX.'t_item.fk_i_user_id = '.DB_TABLE_PREFIX.'t_user.pk_i_id', 'LEFT OUTER' ) ; // Mod

    if(Params::getParam('sCompany') == 1) {
      Search::newInstance()->addConditions(sprintf("%st_user.b_company = 1", DB_TABLE_PREFIX));
    } else {
      Search::newInstance()->addConditions(sprintf("coalesce(%st_user.b_company, 0) <> 1", DB_TABLE_PREFIX));
    }
  }
}
Этот код после функции оставить
Код:
osc_add_hook('search_conditions', 'mb_filter_extend');
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху