Создание, продвижение сайтов
40-33-54

Сложные PHP контекстные фильтры Views

03 апреля 2020

Создание контекстного фильтра на базе нескольких полей через термин таксономии

В контекстных фильтрах надо установить разрешение на использование множественных значений ('+' и ',')

Пример для поля ссылки на термины таксономии

$term = taxonomy_term_load(arg(2));
if (!empty($term->field_categories)){
    $categories = $term->field_categories['und'];
    foreach($categories as $category){
      $cat_ids[] = $category['tid'];
    }
    return implode('+',$cat_ids);
}else{
  return 'all';
}

Пример для поля ссылки на ноды через ссылку на сущности

$term = taxonomy_term_load(arg(2));
if (!empty($term->field_products)){
  $nids = $term->field_products['und'];
  foreach($nids as $nid){
    $ids[] = $nid['target_id'];
  }
  return implode('+',$ids);
}else{
  return 'all';
}

Важно указать значение 'all' для случая, когда проверка PHP фильтра не приносит положительного результата. Контекстные ссылки выполняются все одновременно

Статьи

Сделайте заказ с сайта и получите 10% скидку на услугу

Заказ услуги с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Заказать бесплатную SEO-консультацию

Запрос бесплатной SEO - консультации с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Письмо в компанию Райбин

Письмо в компанию RAYBIN

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.