Тег: php
anyutt82 оголосила про сайт http://www.edasovkusom.ru/. Отже, можна вважати його відкритим. Кулінарією не цікавлюся, тому оцінити його вміст не можу, але займався його програмною частиною й хочу про це написати. До того настільки складних сайтів на «Джумлі» не робив, хоча спочатку ніщо не віщувало біди, якщо не зважати на те, що весь функціонал і дизайн сам просився на WordPress, але категоричною вимогою замовника була Joomla! Зовні простенький сайт передали новому програмісту, а я поїхав у відпустку доробляти три інтернет-магазини, що висіли на мені.
Віддалено весь тиждень допомагав зі створенням сайту, але врешті начальник розробку повністю віддав мені, бо терміни спливали й терміново треба було проект завершувати. Функціонал виходив незвичний, уперше щось на кшталт блогу робили на «Джумлі». Довелося використати компонент Tag для додавання тегів рецептам і компонент MultiCategories, що заміняє собою стандартний компонент Content, бо один рецепт має бути в кількох категоріях. Для виведення зменшеної картинки у вступному тексті зображень використовувався модуль JA News.
Загалом, робота над проектом сподобалася й запам'яталася. Бачу, в офісі він решту добряче дістав і деяких навіть пересмикує. А мені таке подобається, подобається, коли замовник конкретно знає, чого хоче, навіть якщо вимоги трохи незвичні й суворі. Це краще за те, коли частину функціоналу сайту самому доводиться на ходу під час створення вигадувати, а потім ще переписувати, коли після показу клієнту виявляється, що вони хочуть частину переробити.
Встановив на своєму сайті бібліотеку за допомогою компонента BookLibrary. Так, якість компонента лишає бажати кращого, бо спершу був написаний під Joomla! 1.0, не використовує MVC і все в коді змішане в купу. Але чогось кращого для створення бібліотеки для Joomla! не знайшов. Плюс у коді деякі моменти можна підпиляти для нормального відображення й роботи завдяки його простоті. Ще б SEF-посилання прикрутити до нього, але після SEF-посилань JoomGallery це не мало б бути проблемою, було б бажання. Якщо буду для когось робити, може, візьмуся за такі дрібниці, недарма на 4-му курсі в дипломній роботі електронною бібліотекою займався, тільки на ASP.NET.
Зробив це не лише для вивчення можливостей компонента, а й для організації своєї домашньої бібліотеки. Додав туди тільки ті книги, які сам придбав. Дві книжкові шафи книг батьків, моїх дитячих і навчальних книг додавати в такий каталог уже занадто. Шкода, що можливість купувати літературу для себе з'явилася після комп'ютера, тобто тоді, коли майже перестав читати книги... Та бажання є, а читати не виходить. Останньою художньою книгою була «Коли падають гори (Вічна наречена)» Чингіза Айтматова, яку читав упродовж зими на смартфоні, який уже загубив. Попередню художню чи не технічну книгу пригадати не можу.
Сьогодні поповнив бібліотеку ще чотирма книгами, три з них потрібні для професійної діяльності, а одна вже про левів — книга Крейга Пакера, на яку посилається не одна стаття про цих великих котів. Ось посилання на мою бібліотеку з книгами про левів і кількома технічними з розробки.
Оскільки ресурс rss2lj від
david_m заблокували, вирішив розібратися, як прикрутити надсилання записів у блог із самого сайту через PHP. Одразу ж знайшов простий клас, що використовує XML-RPC, від
andreynikishaev. Тільки в самому пакеті зі скриптами не було можливості надсилати повідомлення у спільноту і, як з'ясувалося пізніше, не можна було вимкнути автоформатування надісланого повідомлення.
Довелося шукати далі. Як вказувати спільноту в змінній usejournal знайшов у документації до API Livejournal, там же є посилання на додавання метаданих до повідомлення у змінній props, до яких належить і вимкнення автоформатування в параметрі opt_preformatted. Тільки завантажений клас не передбачав передачу вкладених параметрів, як я зрозумів, довелося його трохи переробити, заінклудивши клас для роботи з XML-RPC ще й в основний скрипт, хоча можна було б завантажити розвиненіше рішення або своє написати, але додатковий час витрачати не хотілося.
На все десь 4 години витратив, але більшу частину часу зайняло додавання форматування новин для ЖЖ та перевірки на те, які новини вже були опубліковані. Прошу вибачення в тих, у кого перед обідом у стрічці полізла купа повторюваних новин з
bigcats_ru. Зате тепер записи напівавтоматично з форуму phpBB надсилаються у ЖЖ, а якщо налаштувати cron, то автоматично. Шкода тільки, що часу немає на пошук і розміщення новин про великих кішок.
Закінчив перший сайт на CMS Drupal 6: http://kddf.in.ua
Звісно, ще треба буде перенести, підправити верстку внутрішніх сторінок, додати переклади інтерфейсу, яких бракує, та оптимізувати для пошуковиків, але основну частину зроблено. Повністю із системою ще не розібрався, розумію, що не все реалізував гарно й правильно. Не розібрався, як робити свої стилі для Views або правильно темізувати наявні, як правильно темізувати кожне меню сайту й указувати шляхи до файлів теми всередині функцій, шаблонів. Та й інші речі по дрібницях не дуже добре реалізовані, думаю, як на перший раз нормально, й так уже витратив на створення сайту й перенесення верстки більше доби чистого часу, при цьому більшість часу пішла на пошук, вивчення того, як реалізувати й налаштувати деякі речі.
На створюваних сайтах на Joomla! використовую компонент JoomGallery, хоч він і не MVC, але доволі багатофункціональний, легко налаштовується й працює. До останнього часу не зміг зробити для галереї ЧПУ.
Через це на сайтах використовував галерею без красивих посилань, та й не треба було оптимізувати галерею, основний наголос на тексти завжди робився. На тижні випав вільний час і був настрій розібратися з router.php. Зрештою, поміняв трохи принципи пошуку відповідної категорії в адресі, зробив, щоб з бази зчитувався весь список відповідних назв категорій чи фото, потім уже кожну назву транслітерував і порівнював з потрібною, так виходило визначити потрібні айді категорії чи фото. Для цього дописав додаткову функцію й додав її після змінених запитів до бази, так, такий скрипт трохи більше ресурсів споживає й довше виконується, але для Джумли це не проблема, якщо порівнювати з прожерливістю ядра й решти речей.
Коли скопіював отриманий router.php на багатомовний сайт на JoomFish, то виявилася ще проблема. Запити до бази повертали вже перекладені імена категорій і фото, тому їх не можна було поставити у відповідність до назв із посилань. Але це розв'язалося просто. Оскільки JoomFish перевизначає методи звернення до бази, у самому скрипті в запити цих методів дописав аргументи, які вказують, що не потрібно перекладати, зрештою все запрацювало. Може, не красиво, що в англійській версії сайту в шляхах російські транслітеровані назви, але навряд чи це можна просто виправити, та й в інших компонентах зі шляхами так само.
Завантажити новий router.php для JoomGallery можна за цим посиланням. Код скрипту не ідеальний, але робочий.
Результати його роботи можна подивитися тут: http://mebelok.com.ua/gallery (перший сайт, на якому його випробував, оскільки назви фото повторюються, то додав вивід айді в адреси, тому відповідні фото шукаються не за назвою); http://bizukov.org.ua/ru/photo (багатомовний сайт, айді в адреси фотографій не виводяться, тому перевірити роботу можна повною мірою).
Став третім кодером, що працює над скриптом стрічки новин 'Великі коти' інтернет-проєкту BIGCATS.RU. Додав до нього RSS-трансляцію останніх новин, розміщених на форумі. Завдяки цьому повністю автоматизував розсилку новин сайту на Subscribe.ru і створив трансляцію новин про великих котів у ЖЖ-спільноту
bigcats_ru ботом
mbashiri через ресурс rss2lj.
Загалом, хто хоче читати у френдстрічці новини про великих і не дуже великих диких котів, спостерігайте за спільнотою
bigcats_ru - Новини з життя великих котів або повідомте тих, кому це може бути цікаво.