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

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

Всі рубрики (49)
Альтернативний шаблон виводу наборів для шаблону modern
Можливо, ви вже звертали увагу на поведінку наборів в цьому шаблоні, коли його елементи не вміщуться в один рядок. В цьому випадку частина елементів кудись "зникає". Це виникає тому, що там підключений скрипт slick. Він і створює "карусель"
Об'єднуємо кілька ітерацій в циклі foreach в один блок, вставляємо рекламні блоки на прикладі віджета "Список контенту" в InstantCMS
Необхідність вставити потрібний код після певних ітерацій виникає досить часто. До прикладу - рекламні блоки.

Розглянемо варіант коли рекламний блок треба вставляти завжди після однієї і тієї самої кількості ітерацій. Паралельно об'єднаємо ітерації між рекламними блоками в одному елементі(<div>)

Наш з вами код буде таким:
Код PHP:
  1.  
  2. <div class="trio">
  3. <?php
  4. $i = 1;//Це перщий прохід
  5. $b = 3;//Кількість об'єднаних записів
  6. foreach($items as $item) { ?>
  7. <div class="item">
  8. Тут будемо виводити $item
  9. </div>
  10. <?php if($i % $b == 0 && $i != count($items)) { ?></div><div class="trio"><?php } ?>
  11. <?php $i++;} ?>
  12. </div>
  13.  

Пояснення до коду:

"Загортаємо" наш цикл в новий блок (<div class="trio">).
Призначаємо змінну $i, яку будемо збільшувати на одиницю після кожної ітерацїї ($i++).
Призначаємо змінну $b - кільсть ітерацій в одному блоці.
Виводмо потрібне з умовою: <?php if($i % $b == 0 && $i != count($items)) { ?> (якщо порядковий номер ітераціїї ділиться на призначену кількість елементів в одному блоці без залишку і це не остання ітерація)

Результат на прикладі віджета "Список контенту" (InstantCMS 2.14.2):
Об'єднуємо кілька ітерацій в циклі foreach в один блок, вставляємо рекламні блоки на прикладі віджета "Список контенту" в InstantCMS

В прикладі рекламні блоки вставлені після кожного 3-го та після останього запису, кожні 3-и записи об'єднані в окремому блоці
Перемикач базового кольору сайту
Віджет дозволить відвідувачам вибирати колірну схему сайту на свій смак (із запропонованих вами).

Перемикач базового кольору сайту


Адаптований для тем, реалізованих на bootstrap. Доповнює контекстуальні селектори bootstrap 4 аналогічними (btn-theme, btn-outline-theme, text-theme, bg-theme, alert-theme, table-theme).
В основі роботи - css змінні і колірний формат hsla.

З налаштуваннями можете ознайомитися, переглянувши цю картинку

Демка на тестовому сайті української локалізації. Як змінюватимуться контекстальні селектори bootstrap, дивіться цій сторінці.

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

Для приначення повноцінної української мови в InstantCMS другої гілки, рекомендую скористатися локалізацією від пана boanro

Завантажити локалізацію
Сторінки: 1 2 3 Наступна Остання