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

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

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

Далі скопіюйте, та вставте в потрібному місці наведений нижче код:
Код PHP:
  1.  
  2. <?php if((cmsUser::getInstance()->id == $item['user']['id'] || cmsUser::isAdmin()) && !empty($item['date_pub_end'])) { ?>
  3. <?php
  4. $date_pub_end = date_create($item['date_pub_end']);
  5. //запись будет снята с публикации в конце дня, потому прибавляем 1день к $item['date_pub_end']
  6. date_add($date_pub_end, date_interval_create_from_date_string('1 days'));
  7. $date_pub_end_true = date_format($date_pub_end, 'Y-m-d H:i:s');
  8.  
  9. function diff($date_pub_end_true, $today_date = NULL) {
  10.  
  11. $today_date = new DateTime('now');
  12.  
  13. $time_left = $today_date->diff($date_pub_end_true, false);
  14. $days = $time_left->days;
  15.  
  16. // до окончания публикации осталось:
  17. $time_left->s = $date_pub_end_true->getTimestamp() - $today_date->getTimestamp();//секунд
  18. $time_left->i = floor($time_left->s / 60);//минут
  19. $time_left->h = floor($time_left->s / 3600);//часов
  20. $time_left->d = $days;//дней
  21.  
  22. return $time_left;
  23. }
  24.  
  25. $time_left = diff(new DateTime($date_pub_end_true));
  26.  
  27. ?>
  28.  
  29. <?php
  30. //выводим сообщения, если до окончания срока публикации осталось меньше 30 дней
  31. if($time_left->d < 30) {
  32. ?>
  33. <div class="pub-end-notice">
  34. <?php if ($time_left->h <= 0) { ?>
  35. <div class="red-notice">Публикация записи прекращена!</div>
  36. <?php } elseif($time_left->h < 24) { ?>
  37. <div class="red-notice">Сегодня, в 24:00, публикация записи будет прекращена!</div>
  38. <?php } elseif($time_left->h < 48) { ?>
  39. <div class="orange-notice">Завтра в 24:00 публикация записи будет прекращена!</div>
  40. <?php } else { //выведутся только целые дни (часы) до окончания срока публикации ?>
  41. <div class="green-notice">Публикация записи будет прекращена через <?php html(string_date_age_max($date_pub_end_true)); ?>!</div>
  42. <?php } ?>
  43. </div>
  44. <?php } ?>
  45. <style>
  46. .pub-end-notice {
  47. font-weight: 700;
  48. margin: 15px 0;
  49. }
  50. .green-notice {
  51. color: green;
  52. font-size: 1.3em;
  53. }
  54. .orange-notice {
  55. color: orange;
  56. font-size: 1.5em;
  57. }
  58. .red-notice {
  59. color: red;
  60. font-size: 2em;
  61. }
  62. </style>
  63. <?php } ?>
  64.  
В коді все відкоментовано. Розібратися та змінити під свої потреби не складе проблем.
Змініть на потрібні значення умов: if($time_left->d < 30) та if ($time_left->h <= 0)
До речі, остання зроблена таким чином, що текст попередження можна змінювати мало не щогодини (для прикладу, виводяться різні тексти за 48 та 24 години до закінчення терміну публікаціїї, та після ії завершення).

Стиль текстів зроблено тільки для прикладу. Змініть його на свій смак.

Не забудьте помітити для себе змінений файл, щоби випадково не затерти при оновленнях, та внести в нього відповідні зміни при необхідності (наприклад, при тих же оновленнях).

Миру вам!
Шаблон Tseso - фінішна пряма
Вітаю, шановні!
Кінець-кінцем зібрався з духом і зробив давно задумане.
Якщо дозволите, для початку історія шаблону в двох словах.
Шаблон задумувався як невеличке розширення можливостей дефолту та виправлення кількох недоробок в останньому. Звідси і назва - абревіатури від (ті ж яйця тільки... англійською).
Час йшов, шаблон потихеньку обростав функціоналом...
Нова версія шаблону Tseso
Вітаю, шановні!
Підготував нову версію шаблона для InstanCMS 2.8.0.
Зміни стосуються стильових файлів (точніше, іх "правопису" та правил підключення).
Вкладка профілю - записи в каталозі для 1.10.6 (плагін)
Плагін обзавівся кількома додатковими налаштуваннями, текстовим файлом, прикладом стилю.
Демки, на жаль, немає. Парочка скринів нижче.
Так виглядаме в профілі:
""
зменшене Зображення. Клацніть, щоб побачити оригінал.

Налаштування:
""
зменшене Зображення. Клацніть, щоб побачити оригінал.

При активуванні опцій "не виводити вкладку, якщо користувач не додавав записи", "показувати тільки свої записи" та "виводити вкладку тільки у певної групи" вкладка не виводиться зовсім при співпаданні умов; при активуванні опції "показувати тільки зареєстрованим" - виводиться відповідне повідомлення з запрошенням авторизуватись.
Завантажити можна тут.
Використовуєте на свої страх та ризик.
Миру вам!
Віджети "Меню" та "Аватар користувача" для InstantCMS 2.1.2 з вибором шаблону та treeview
Вітаю!
За великим рахунком цей запис - продовження попередньої теми. Думаю, можливості створити вертикальне меню у вигяді дерева згодиться багатьом. Для цього зробив вибір і для віджета "Меню".
Виглядає це так:
""
зменшене Зображення. Клацніть, щоб побачити оригінал.

Використано плагін treeview.
Для інсталяції, вміст роззпакувати до кореня сайту, погодитися на заміну файлів. В адмінці перезберегти налаштування всіх віджетів меню та віджета "аватар користувача".
Прихований текст видно тільки зареєстрованим користувачам

Миру вам!
Віджет "Аватар користувача" 2.1.2 з вибором шаблону та treeview
Вітаю!
Невеличкий хак дозволить призначати віджету "Аватар користувача" інший шаблон.
Для прикладу - виводити костувальницьке меню у вигляді дерева.
Адаптивна гумова розмітка
Вітаю!
Цей запис для тих, хто як і я ніяк не може підібрати гарну адаптивну розмітку. Перебрав, препробував більше десятка. На жаль, всі мали для мене якісь недоліки.
Кінець-кінцем зробив свою. Отже, що вона собою уявляє:
Розмітка - гумова + адаптив. Максимальна кількість стовпчиків: 12, з правим відступом в 2%. Поєднання ширин стовпчиків любе в межах 12.

html розмітки:
Код PHP:
  1. <div class="container">
  2. <div class="row">
  3. <div class="col-1">
  4. <p>1</p>
  5. </div>
  6. <div class="col-11 last">
  7. <p>11</p>
  8. </div>
  9. </div>
  10. </div>
  11.  
Пояснення:
.container - слугує тільки для одного: обмеження максимальної ширини (якщо потрібно)
.row - рядок стовпчиків; має ширину в 96% від максимальної ширини container з боковими відстуами в 2%
.col-1 - стовпчик мінімальної ширини (6.5% від ширини батьківського блоку з правим відступом в 2% від тієї ж ширини;)
.last - прибирає боковий відступ у останнього стопчика (можна не вказувати для першого рівня вкладенності. якщо не збираєтеся підтримувати
ІЕ 7-8; є обов'язковим для 2-го і більше рівнів вкладеності)
Пи роздільній здатності 767рх та менше, любий стовпчик займає всю ширину row
Владати стовпчики в стовпчики можна, при цьому ширина вкладанех та їх відступ вираховуються вже від ширини батьківського стовпчика. Якщо потрібно вкладати рядки без відступів в стопчик, можна використувавати клас row-in замість row (100% ширини батьківського блоку, без бокових відступів)
Демо розмітки тут
Приклад використання - шаблон Light для InastantCMS 2.1.2
Потестуйте, відгукніться. Наперед вдячний!
Спливаюче вікно на куки з вимогою до відвідувача сайту
Для прикладу: відвідувач має підтвердити що йому виповнилося 18 років.
Нагадування користувачам про аватар в instantcms 2*
Про бажаність унікального аватару теми піднімались не один раз.
Можна, звичайно, зробити поле "аватар" обов'язковим при реєстації. Недолік - ускладнюється сама реєстрація.
Як варіант пропоную виводити нагадування про нього.
Спробував зробити за допомогою кук.
Отже, завдання вивести нагадування про аватар зареєстрованому користувачу в якого аватар не встановлено.
Адаптивний слайдер новин
Простий адаптивний слайдер новин для 1.10.3
Навіть, якщо у вас не адаптиний шаблон, модуль без проблем самостійно адаптується до розмірів батьківського блоку.
Приклади адаптації.
в широкій позиції:

в вузькій:

Доступні налаштування модуля: кількість новин для відтворення, покакзувати чи не покузавати анонси новин, максимальна кількість знаків в заголовку та в анонсі, і,звичайно, розділ з якого виводити новини:

Саме собою, модулю подобаються широкі картинки (рекомендовані розміри останніх рівні ширині батьківського блоку модуля)
Модуль безкоштовний. Якщо ви порахуєте що він чогось вартий, прошу звертатися через систему особистих повідомленнь нашого сайту. Всі кошти будуть передані біженцям з Криму. Наперед дякую всім хто відгукнеться.
Завантажити можна тут
Миру вам!
Сторінки: 1 2 3 Наступна Остання