Експерименти з CMS Joomla. Чого не варто робити.

На описаних раніше змінах я не зупинився і вирішив на додачу ще трохи поміняти розміщення елементів сайту, а саме розвантажити лівий блок в який було накидано казна-скільки казна-чого. Спеціально для цього я зробив окремою головну сторінку, а загальний блог трошки «понизив в статусі».

За початковою задумкою (і саме так спочатку це й було реалізовано) в основну частину мали поміститися:
— свіжі статті основного блогу витягнуті з нього через RSS
— свіжі «Новини друзів», теж через RSS
— список популярних статей
— 10 останніх коментарів
— TOP-5 найактивніших коментаторів

І тут з сайтом почалися відбуватися просто дикі речі...

Раз на 3-4 переходи він «відходив в Нірвану», і повисав орієнтовно на 5 хвилин, а потім взагалі вивалювалася помилка від системи хостингу. Ввімкнення всіх можливих і неможливих систем кешування ситуацію трохи покращували але не виправляли. Мої «тєлодвіженія» співпали з переїздом сервера в новий дата-центр і я, чесно кажучи, спочатку грішив на хостера, але після спілкування з їхньою службою техпідтримки до мене почали закрадатися сумніви.

Сумніви переросли у впевненість після того як прибравши RSS’и я миттєво добився нормальної роботи сайту. От тільки прибрати з головної сторінки блогу статті цього блогу в мої плани не входило :-) Тому я взявся шукати способи як їх туди повернути. Зараз-то я вже знаю як це зробити трохи простіше, але спосіб в який я зробив головну сторінку не дуже цьому сприяє. Справа в тому, що з точки зору Jooml’и — це звичайна стаття, а засобів вставити інші компоненти в текст статті за замовчуванням в Джумлі немає, а більш-менш нормально працююче рішення дозволяє вставляти лише модулі.

Спочатку я пробував робити «в лоб» — знайшов плаґін, який дозволяє вставляти в статтю будь-який компонент, але виявилося, що обидва способи якими він може це зробити мене не влаштовують: один з них абсолютно нечитабельний, а другий — вносить зміни в таблиці стилів, а це в свою чергу кардинально міняло вигляд головної сторінки.

Після покоробленої головної сторінки мене вже почала брати злість і я, бувало, думав повернутися до попереднього розміщення елементів, але згадав анекдот про фізика, математика і кип’ятіння чайника і вирішив «звести задачу до попередньої»: я маю можливість нормально вставляти модулі в будь-яке місце статті, отже мені потрібний модуль, який покаже список статей. Такого модуля немає, але в мене є руки, голова і Internet. А голова вважає, що підглянувши дещо в Internet’i можна руками написати модуль, який здере рубрику «Блог» відкине все зайве і віддасть лише список статей.

І, як завжди зі мною в таких випадках трапляється, пошук в Internet’i абсолютно інших речей видав інформацію, про те, що будь-якій сторінці Джумли можна призначити свій особистий шаблон. Так зі мною трапляються хороші речі. Друге «як завжди» — погана річ: рухаючись в якомусь напрямку я начисто забуваю для чого в кінці кінців я це роблю і пропускаю можливості досягнути результату швидше.

От і зараз: якби я не зациклився на злощасному модулі, то відразу зрозумів би: потрібно зробити окремий шаблон для головної сторінки і продублювати функціонал рубрики «Блог», але в цьому новому відображенні. Так от ні!!! Замість цього я зробив абсолютно розвантажений шаблон, який нічого крім основного змісту не показує, зробив клон рубрики «Блог», якому призначив цей шаблон, зробив модуль, який вписує у вказане місце будь-яку веб-сторінку, вставив цей модуль на головну сторінку і натравив його на той «недоБлог».

Ура! Результату досягнуто! Тепер можна заспокоїтися і здогадатися, що все вирішувалося значно простіше :-D

Якщо Ви думаєте, що на цьому я зупинився, то глибоко помиляєтеся. Після майже тижня дикого гальмування я почав думати як би то мінімізувати навантаження на сервер і тим самим пришвидшити роботу сайту. Найсмішніше, що вимкнення кеша Джумли частково дало позитивний ефект :-) Чому так — загадка природи, але факт залишається фактом. Зараз в мене є одна цікава ідея, яку я потихеньку доводжу до робочого стану, але в неї є побічний ефект — вона ламає роботу компонента JComments, яким було реалізоване коментування на сайті. Тому наразі «рідні» коментарі залишаються тільки для читання, а замість них у Вас на вибір є можливість прокоментувати через «Кантакти» або через «Мордокнижку». Якщо це кешування буде давати хороші результати, але мені не вдасться подружити його з JComments, то він так і залишиться «для мебелі». Позитивний момент — з JComments також конфліктує розширення FullAJAX, яке теж непогано пришвидшує роботу сайту, так що цілком можливо, що при такому розвитку подій дойде черга і до нього.

P.S.: Якщо хтось не знає про який анекдот я згадував:

Як вирішують задачі фізики та математики.

Задача 1. Є порожній чайник, кран, газова плита, потрібно закип’ятити воду.
Фізик: набирає воду в чайник, ставить на плиту кип’ятити. Математик: точно так само.

Задача 2. Та ж задача, але в чайнику вже є вода.
Фізик: ставить на плиту кип’ятити. Математик: виливає воду з чайника і зводить задачу до попередньої.

P.P.S.: Якщо комусь знадобляться результати моїх експериментів, то їх можна завантажити тут:

Модуль для «вклеювання» довільної адреси: mod_passthru.zip

Майже порожній шаблон: tpl_minimus.zip

Якщо хтось і досі не зрозумів: тягнути RSS просто на сторінку — ДУЖЕ погана ідея!!! Власне кажучи: сайт де я її підглянув досить серйозно навантажує сервер. Підозрюю, що і через це також :-)




 

Працює на AutoGenCMS 0.2.6

А чому це всі вирішили, що в сайта має бути шапка?