Головна » Блоги » InstantCMS - переваги та недоліки системи
Автор блогу: Олег Васильович я
+75 RSS-стрічка RSS-стрічка

InstantCMS - переваги та недоліки системи

Різне (6)
Категорія типу контенту в опції "автопосилання" поля "Список"
Враховуємо категорію запису типу контенту в полі "Список".
При активуванні опції "Автопосилання" лінк формується тільки з врахуванням кореневоі сторінки ТК та значення поля для фільтру. Часто виникає потреба формувати посилання з врахуванням категорії до якої належить запис.
Простеньке рішення таке: підправимо файл 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.  
Тепер лінк формуватиметься так. як потрібно нам.
Поле "посилання" з додатковими налаштуваннями
Трішки перероблене дефолтне поле.
Якщо не введено http:// додається по замовчуванню (без опції)
Можна відкривати зовнішні посилання через редирект
Внутрішні можна відкривати в новій вкладці (зовнішні відкриваються в новій вкладці не залежно і від цієї опції і від опції "відкривати зовнішні посилання через редирект").
Покрашено роботу поля з відносними посиланнями.
Маска для сторінки виводу віджетів "Всі, крім головної" в InstantCMS другої гілки
Вітаю!
Дуже часто стикаюся з необхідністю такої сторінки в своїй роботі. На форумі офсайту сситеми, та і в інтернеті також, колеги пропонують в якості позитивних масок перерахувати всі потрібні сторінки. Не те, що треба звичайно.
Самостійно також не міг раніше додуматися і доводилося робити в шаблоні позицію з умовою не виводити її на головній сторінці на PHP. Теж, звичайно, "не те".

Між тим рішення є і воно просте. Люба маска (не важливо "позитивна" чи "негативна") складається з 2-х частин:коренева сторінка (вона ж, - головна) + частина URL після неї. Останні ми і вказуємо в фільтрі в якості маски. Чим відрізняється головна сторінка в плані URL від інших?
Правильно, - у неї більше ніяких символів в URL не міститься.

Виходячи з цього, робимо сторінку для прив'язки віджетів "всі, крім головної" вказавши в якості позитивної маски знак * (зірочка, астерикс), що в перекладі на людську мову означатиме для системи "вивести позицію на сторінках з URL, що склаються з адреси головної сторінки та любої послідовності знаків після ". Все, фільтр "всі, крім головної" готовий!

Миру вам!
Тег figure для системного поля image в шаблоні InstantCMS другої гілки


Тег <figure>

figure - тег, що використовується для групування елементів в HTML. Найчастіше використовується при виводі картинок та пояснювальних підписів до них. Рахується, що пошукові системи відносяться до такої подачі елементів більш прихильно.


Поле "image"

Системне поле в InstantCMS другої гілки. Служить для завантаження та виводу картинок. Поле має кілька гарних можливостей. Для прикладу, воно дозволяє сформувати одразу кілька розмірів картинки, вивести різні розміри в різних місцях сайту, збільшити розмір картинки кліком по ній.
Нагадуємо автору про завершення терміну його публікаціїї в InstantCMS 2-х
Вітаю!
Часто виникає необхідність нагадати автору запису про те, що закінчується термін його публікації.
Щоб не виходити за межі шаблону, весь код розмістимо в одному файлі.
Для початку скопіюємо файл templates > default > content > default_item.tpl.php в папку content свого шаблону. Якщо необхідніть нагадування є тільки в певному типі контенту, то можна додатково переназвати файл за таким принципом: системна_назва_типу_контента__item.tpl.php. Для прикладу: board_item.tpl.php
Нагадування користувачам про аватар в instantcms 2*
Про бажаність унікального аватару теми піднімались не один раз.
Можна, звичайно, зробити поле "аватар" обов'язковим при реєстації. Недолік - ускладнюється сама реєстрація.
Як варіант пропоную виводити нагадування про нього.
Спробував зробити за допомогою кук.
Отже, завдання вивести нагадування про аватар зареєстрованому користувачу в якого аватар не встановлено.