[ads_cat]

[ads_cat] – в зависимости от категории, выбранной на первом этапе, скрывает или показывает часть формы.
Код имеет спец. атрибута для установки категорий:

  1. id – задает id категории\категорий (через запятую), если пользователь выбрал эту категорию, содержимое кода будет показано
  2. slug – задает ярлык (slug) категории\категорий (через запятую)
  3. cat_name – задает название рубрики или список рубрик через запятую, в которых будет показано содержимое контейнера

Обратное условие ! если перед любым значение поставить знак ! условие будет инвертировано (как PHP) содержимое контейнера будет показано только в том случае, если пользователь не выбрал указанную категорию.
Использовать можно только один атрибут все остальные будут проигнорированы. Прямое и обратное условие объединяются через оператор ИЛИ то есть если для одной категории задать одновременно прямое и обратное условие то мы получим в результате TRUE – блок будут показан всегда.

Рассмотрим примеры использования.

Для этого предположим, что на сайте у нас используется рубрикация как на сайте доска объявлений г.Ильичевска
возьмем фрагмент списка :

  • Недвижимость (21:nedvizhimost)
    • квартиры (37:kvartiryi)
    • дома (39:doma)
    • земля/участки (40:zemlya-uchastki)
    • коммерция/бизнес (41:kommertsiya-biznes)
    • новострой (42:novostroy)
    • риелторские услуги/работа (44:rieltorskie-uslugi-rabota)
  • Транспорт (22:transport)
    • автомобили (45:avtomobili)
    • мотоциклы/мопеды (46:mototsiklyi-mopedyi)
    • грузовые/автобусы (47:gruzovyie-avtobusyi)
    • катера и другое (48:katera-i-drugoe)
    • запчасти/аксессуары (49:selhoz-cpetstehnika)
    • автосервис/работа (50:avtoservis-rabota)
    • запчасти/аксессуары (51:zapchasti-aksessuaryi)

В скобках указан ID категории и ярлык (slug).

Допустим если пользователь выбрал категорию квартиры или дома потребуем ввести пользователя общую площадь в м.кв.

Другой пример : добавим поле цена ads_price, оценить можно много чего однако в рубриках риелторские услуги/работа и автосервис/работа цена не уместна – тут предполагается размещать только сведения об услугах из соответствующей области.
тогда фрагмент формы может быть таким:

Поле цена будет доступно везде кроме рубрик с id 44 и 50.

Вложение тегов

Очень печально, что Shortcode API не поддерживает полноценное вложение тегов. Нельзя вкладывать код сам в себя, поэтому пришлось придумать обходной маневр – с каждым вложением добавляем префикс _cat

В категории Транспорт добавляем поля ввода Объем двигателя и Год выпуска но в категориях запчасти/аксессуары и автосервис/работа запрещаем выводить эти поля.

Строго говоря предыдущий пример с ценой неправильный, ведь кроме недвижимости и транспорта есть другие рубрики и под рубрики поэтому, нам надо сделать сложно подчиненое условие

Первый блок ads_cat сработает только в категории nedvizhimost или transport. Второй блок ads_cat_cat сработает везде кроме категорий rieltorskie-uslugi-rabota и avtoservis-rabota

Рекомендую использовать ярлыки категорий вместо id или имени, тогда вы всегда сможите поменять имя категории. Ну не понравилось вам мое название риелторские услуги/работа, захотите просто услуги агентов недвижимости – нет проблем меняете название, ярлык остается – форму трогать уже не надо. Привязка к id – тоже не лучший вариант, если придется переносить сайт с одного хостинга на другой при импорте БД все ID поменяются опять переделывать форму. Ярлык не меняется.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> [php]…[/php] [html]…[/html] [css]…[/css] [text]…[/text] [code]…[/code]