Articles tagged with: 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.

Сделал это не только для изучения возможностей компонента, но и для организации своей домашней библиотеки. Добавил туда только те книги, которые сам приобрёл. Два книжных шкафа книг родителей, моих детских и учебных книг добавлять в такой каталог уже слишком. Жаль, что возможность покупать литературу для себя появилась после компьютера, то есть тогда, когда почти перестал читать книги... И желание есть, а читать не получается. Последней художественной книгой была "Когда падают горы (Вечная невеста)" Чингиза Айтматова, которую читал на протяжении зимы на смартфоне, который уже потерял. Предыдущую художественную или не техническую книгу вспомнить не могу.

Сегодня пополнил библиотеку ещё четырьмя книгами, три из них нужны для профессиональной деятельности, а одна уже про львов — книга Крейга Пакера, на которую ссылается не одна статья про этих больших кошек. Вот ссылка на мою библиотеку с книгами о львах и несколькими техническими по разработке.


Постинг в ЖЖ с PHP (phpBB)

Так как ресурc rss2lj от david_m заблокировали, решил разобраться как прикрутить отправку записей в блог с самого сайта через PHP. Сразу же нашел простой класс, использующий XML-RPC, от andreynikishaev. Только в самом пакете с скриптами не было возможности отправлять сообщение в сообщество и, как выяснилось позже, нельзя было отключить автоформатирование отправленного сообщения.

Пришлось искать дальше. Как указывать сообщество в переменной usejournal нашел в документации к API Livejournal, там же есть ссылка на добавления мета-данных к сообщению в переменной props, к которым относится и отключение автоформатирования в параметре opt_preformatted. Только скачанный класс не предполагал передачу вложенных параметров, как я понял, пришлось его немного переделать, заинклудив класс для работы с XML-RPC ещё и в основной скрипт, хотя можно было бы скачать более развитое решение или своё написать, но дополнительное время тратить не хотелось.

На всё где-то 4 часа потратил, но большую часть времени заняло добавление форматирования новостей для ЖЖ и проверки на то какие новости уже были опубликованы. Прошу прощения у тех, у кого перед обедом в ленте полезла куча повторяющихся новостей с bigcats_ru. Зато теперь записи полуавтоматически с форума phpBB отправляются в ЖЖ, а если настроить cron, то автоматически. Жаль только времени нет на поиск и размещение новостей о больших кошках.


Первый сайт на Drupal

Закончил первый сайт на CMS Drupal 6: http://kddf.in.ua

Конечно, ещё надо будет перенести, подправить верстку внутренних страниц, добавить недостающие переводы интерфейса и оптимизировать для поисковиков, но основная часть сделана. Полностью с системой ещё не разобрался, понимаю, что не всё реализовал красиво и правильно. Не разобрался как делать свои стили для Views или правильно темизировать существующие, как правильно темизировать каждое меню сайта и указывать пути к файлам темы внутри функций, шаблонов. Да и прочие вещи по мелочам не хорошо реализованы, думаю для первого раза нормально, и так уже потратил на создание сайта и перенос верстки больше суток чистого времени, при этом большинство времени ушло на поиск, изучение того как реализовать и настроить некоторые вещи.


Месяц напряженной работы

Посмотрел отчёт за апрель. По нём получается, что в прошлом месяце я делал что-то для 29 разных клиентов. Если учесть, что у некоторых заказчиков по несколько проектов, то выходит больше 30 сайтов. Сказывается увольнение программиста, повлекшее переход ко мне его недоделок и заказов по переделке.

В то же время успел прочитать пару книг: "Building Powerful and Robust Websites with Drupal 6" и "Drupal E-commerce with Ubercart 2.x". Так же начал читать "Drupal 6 Search Engine Optimization", но её думаю отложить и перейти к "Pro Drupal Development, Second Edition", так как взялся за пару сайтов и увидел, что для реализации задуманного недостаточно того, что есть в первых двух книгах. (Хорошая штука Reading List by Amazon в LinkedIn.)

Да, решил разобраться и частично перейти на Drupal, Joomla! до конца не изучил, но уже сделал на ней около 20 сайтов, а работал и то с большим количеством, в ходе подробного изучения уж больно много нехорошего всплывает. Надеюсь, в мае смогу добавить к реализованному несколько сайтов на Drupal.


Рабочие SEF-ссылки транслитом для JoomGallery через router.php и совместимость с JoomFish

В создаваемых сайтов на Joomla! использую компонент JoomGallery, хоть он и не MVC, но довольно многофункциональный, легко настраивается и работает. До последнего времени не смог сделать для галереи ЧПУ.

( подробней про причины не использования SEF-ссылок в JoomGalllery )

Из-за этого на сайтах использовал галерею без красивых ссылок, да и не надо было оптимизировать галерею, основной упор на тексты всегда делался. На неделе выдалось свободное время и было настроение разобраться с 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 - Новости из жизни больших кошек или сообщите тем, кому это может быть интересно.