sNews — крихітна система управління сайтом

Липень 31, 2010 Автор: admin

Мабуть, читаючи записи з цього блоґу, ви помітили мою «слабість» до простеньких CMS. Ні, я не проти використання систем Joomla, Drupal, WordPress і т.д. На свій захист можу навести даний блоґ, що успішно працює на WordPress’і. Просто я прихильник «розумного» використання програмного забезпечення: функціоналу має бути в міру і додаткові функції мають бути лише ті, які дійсно потрібні. Тому, коли потрапляє до рук CMS’ка типу «мал, да удал», при нагоді завжди пробую знахідку «на зуб». Благо, знань і досвіду «поколупатися» в коді вистачає.

Логотип CMS sNewsПро систему керування сайтом sNews я дізнався із зарубіжних блоґів, на яких не раз зустрічав схвальні відгуки про неї.

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

Але для початку короткі тези про sNews, які вважаю вартими вашої уваги.

Особливості sNews

  • 100%-ва гарантія того, що ваш сайт, з мінімальними витратами на хостинг, буде доступний практично завжди (навіть тоді, коли навантаження на сервер вашого хостера пікове).
  • Ядро системи складається з одного файлу «snews.php» розміром біля 100 Кб. Код відносно простий, тому його можна легко допрацьовувати й змінювати навіть початківцям не вникаючи в складну логіку (мова звісно йде про PHP-програмістів).
  • Інтегрувати готовий шаблон (XHTML+CSS) в sNews надзвичайно легко. Все оформлення закладено в єдиний файл «index.php», а в тих місцях, де повинен формуватися динамічний контент, ставляться спеціальні теґи, що представляють собою невеличкий код PHP.

    Наприклад, щоб вивести на сторінці список категорій, необхідно у потрібному місці вашого шаблону вставити наступний код:

    <?php categories(); ?>
    

    Всі «теґи шаблону» (а їх там не так багато) є в шаблоні за замовчування, вам достатньо скористатися ними по аналогії. Або можна ознайомитися з коротенькою статтею «Теги шаблона CMS sNews» (рос).

  • Структура сайту формується  за допомогою категорій, сторінок, статей і додаткового вмісту.
  • Система доволі грамотно оптимізована під пошукові системи («чисті URL», формування заголовків і т.д.).
  • CMS sNews дозволяє також виконувати завантаження файлів на сервер, переглянути завантажені файли чи видалити непотрібні.
  • Інтерфейс системи вже перекладений на українську і російську мови. Є також російськомовний форум, присвячений цій CMS — http://snewscms.su/forum/.
  • sNews дозволяє «причепити» на веб-сайті мапу сайту та архів статей, є форма для зворотного зв’язку та простенький пошук.

Зауваження! Я все ж не берусь рекомендувати вам цю CMS, якщо ви ніколи до цього не встановлювати подібне програмне забезпечення. Чудес не буває, якісь базові знання та вміння все ж мусять бути, щоб впоратися з цією крихіткою.

sNews v1.7 з незначними виправленнями (кому цікаво, про них можна почитати нижче) вже використовується мною на сайті http://goodcoffee.org.ua/. Ось, вам і демонстраційний приклад роботи цієї системи.

Ну, і на останок трохи «роботи з напильником», а для тих, кого не цікавить порпання в коді, внизу є посилання на кінцевий варіант.

Мої виправлення в sNews 1.7

  • Прибрав зайві слеші, які появляються лише, якщо sNews встановлювати на сервері під керування ОС Windows.

    Коли це можливо? Наприклад, коли ви з метою тестування і відлагодження сайту інсталюєте цю CMS на «Денвері» в себе на локальному комп’ютері (що я першим ділом і робив).

    Як я це виправив? Трохи модифікував функцію site() з файлу «snews.php», яка генерує URL сайту, і вона набула вигляду:

    function site() {
    
        $host = 'http://'.$_SERVER['HTTP_HOST'];
        $directory = dirname($_SERVER['SCRIPT_NAME']);
       
        if ($directory == "/" || $directory == "\\" ) {
            $website = $host.'/';
        } else {
            $website = $host.$directory.'/';
        }
    
        return $website;
    }
  • Доробив правильну генерацію «чистих URL»: за замовчуванням sNews недобре транслітерувала українські літери, а кожного разу при створенні матеріалу не хотілось виправляти транслітеровану назву для URL. Для цього були внесені зміни в файл «/js/admin.js», а саме відредаговано функцію getSEF()
    // generate SEF (Search Engines Friendly) URL
    
    function genSEF(from, to) {
    
    	if (allowsef == true) {
    
    		// var str = from.value.toLowerCase();
    
    		var str = deLocalize(from.value);
    
    		str = str.toLowerCase();
    		str = str.replace(/[^a-z 0-9]+/g,'');
    		str = str.replace(/\s+/g, "-");
    		to.value = str;
    
    	}
    
    }

    і додав нову функцію deLocalize(), яка необхідна для роботи модифікованої getSEF().

    Примітка: якщо ви робитимете цю дію самотужки, то не забудьте файл «admin.js» зберегти в кодуванні UTF-8.

  • На тестовому сайті в секції (блоці) «Нові коментарі» кирилиця обрізалася не добре, а саме останній символ коментаря при обрізанні показувався як «ромбик». Тому в функції new_comments() замінив substr() на mb_substr().
  • В пакет (нагадаю, нижче є посилання для його завантаження) в додаток до базової англійської включено два мовних файли з українською та російською мовами.

    Мова змінюється в адмін. частині (уточню, за замовчуванням логін і пароль — «test»), для цього виберіть Settings (Налаштування) → Time and Locale settings (Час, дата та регіональні настройки):

    Зміна мови інтерфейсу CMS sNews v1.7

    І у відповідному полі пропишіть мову, яка вам потрібна: UK — українська, RU — російська.

  • Також додав вивід часу генерації сторінки і споживання пам’яті, але то вже на любителя. На тестовому сайті внизу сторінки це виглядає так:

Вивід часу генерації сторінки і споживання пам'яті

Вразі, якщо ви виявите бажання скористатися моїми виправленнями CMS sNews v1.7, ось посилання на zip-архів зі всіма зміненими файлами, які попередньо «залиті» на сервіс для зберігання файлів Box.net:

Адаптована збірка sNews 1.7 (zip-архів)

(збірка sNews 1.7 адаптована під українську/російську мови; 64,2 Кб).

Популярність: 5%

Теґи до статті: , , .

Сподобалось?

Поділіться цією статтею з друзями:   Share on Twitter! Share on Delicious Share on Digg! Share on Reddit! Subscribe by RSS! Share on StumbleUpon!

Найпопулярніші статті

Ця стаття не має коментарів, але Ви можете бути першими.

Залишити коментар

XHTML: Ви можете використовувати наступні теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Spam Protection by WP-SpamFree