Головна » Блоги » InstantCMS - переваги та недоліки системи » Категорія типу контенту в опції "автопосилання" поля "Список"

Категорія типу контенту в опції "автопосилання" поля "Список"

0
Голосів: 0
Опубліковано: 2020 / 02 / 03
Переглядів: 236
Категорія: Різне
Редагувалося: 2 рази — останній 3 лютого 2020
Враховуємо категорію запису типу контенту в полі "Список".
При активуванні опції "Автопосилання" лінк формується тільки з врахуванням кореневоі сторінки ТК та значення поля для фільтру. Часто виникає потреба формувати посилання з врахуванням категорії до якої належить запис.
Простеньке рішення таке: підправимо файл system ieldslist.php
1) В методі getOptions додамо опцію:
Код PHP:
  1.  
  2. new fieldCheckbox('is_autolink_cat', array(
  3. 'title' => 'Враховувати категорію запису',
  4. 'hint' => 'Буде враховуватися категорія:)',
  5. 'default' => false,
  6. 'visible_depend' => array('options:is_autolink' => array('show' => array('1')))
  7. ))
  8.  
2) В методі parse замінимо код:
Код PHP:
  1.  
  2. return '<a class="list_autolink '.$this->item['ctype_name'].'_list_autolink" href="'.href_to($this->item['ctype_name']).'?'.$this->name.'='.urlencode($value).'">'.html($item, false).'</a>';
  3.  
на такий:
Код PHP:
  1.  
  2. if ($this->getOption('is_autolink_cat')){
  3. return '<a class="list_autolink '.$this->item['ctype_name'].'_list_autolink" href="'.href_to($this->item['ctype_name']).'/'.$this->item['category']['slug'].'?'.$this->name.'='.urlencode($value).'">'.html($item, false).'</a>';
  4. } else {
  5. return '<a class="list_autolink '.$this->item['ctype_name'].'_list_autolink" href="'.href_to($this->item['ctype_name']).'?'.$this->name.'='.urlencode($value).'">'.html($item, false).'</a>';
  6. }
  7.  
Тепер лінк формуватиметься так. як потрібно нам.

Читайте також:

Коментарі (0)

Немає коментарів. Ваш буде першим!