Ostatnich kilka tygodni spędziłem przy dwóch stosunkowo prostych stronach, których opracowanie potraktowałem jako test CMS-a October. Strony z różnych branż, o dwóch różnych strukturach.

Zdecydowałem się na OctoberCMS, bo oferowana funkcjonalność w zupełności spełniała wymagania, a dodatkowym autem jest to, że jest napędzany przez silnik stworzony na bazie Laravel. Dzięki temu mogłem zrezygnować z poszukiwań jakichś dedykowanych wtyczek, gdyż wszystkie funkcjonalne braki mogłem wypełnić własnym kodem.

Biegaławet

F1E05632-20F9-4E8A-9F82-6945B5DB464F.png

http://www.biegalawet.pl to strona Przychodni Weterynaryjnej na zmodyfikowanym motywie Relax udostępnianym bezpłatnie. Życzeniem klienta była prezentacja oferty, publikacja aktualności i formularz kontaktowy z możliwością rezerwacji terminów wizyt. Wszystko to, po pewnych zmianach w oryginalnym motywie, udało się zrobić bez konieczności szczególnie zawiłych interwencji programistycznych.

Większość czasu poświęciłem na modyfikacje HTML i CSS oraz na proste funkcje, gównie te służące optymalizacji grafik. Gruntownie przepisałem funkcje odpowiedzialne za obsługę formularza kontaktowego, który został rozszerzony o prosty zestaw pól pozwalających wybierać termin wizyty i typ zabiegu.

Herbaciarnia Asia

06EBC050-FE7A-49FD-B5D6-E2D43856BF3C.png

http://herbaciarnia-asia.pl to strona znanej bydgoskiej kawiarni, która zaskakująco mieści się w kamienicy, w której na codzień mieszkam. W tym przypadku wykorzystałem też bezpłatny szablon, który jednak wymagał odrobinę więcej zaangażowania. Jako, że w oryginale jest to projekt HTML/CSS/JS musiałem całość pociąć i dostosować do środowiska OctoberCMS. Nie jest to trudne, ale dosyć czasochłonne, tym bardziej, że nie dysponowałem źródłowymi plikami SASS/LESS.

W tym przypadku oczekiwania były podobne, jednyną zmianą było zarządzanie menu (kartą dań) kawiarni. Jako, że logicznie jest to podobne do tradycyjnego e-commerce, wkorzystałem do tego celu dedykowaną wtyczkę Shopaholic. Służy ona jednak tylko jako formularz wprowadzania kolejnych pozycji oraz definiowania kategorii i podkategorii. Do wyświetlania napisałem własne, niezbyt skomplikowane funkcje, korzystając tylko z czystego PHP i funkcji Laravel.

W tej chwili ta sekcja nie jest jeszcze w 100% skończona, bo cały czas nie ma podłączonej podstrony szczegółowego opisu potraw, ale wynika to z tego, że klient jeszcze tych danych po prostu nie wprowadził.

Cechy wspólne

Obie strony wykorzystują Bootstrap wraz z bibliotekami JavaScript, a także kilka skryptów jQuery (galerie, slider, formularze). Strony są responsywne i dobrze prezentują się na urządzeniach mobilnych. W opublikowanej wersji korzystją z mechanizmów memcached, wszędzie, gdzie było to możliwe zastosowałem dynamiczne kadrowanie zdjęć.

Oba projekty powstały na bazie dostępnych bezpłatnie szablonów, z powodów budżetowych nie angażowałem grafika do ich wykonania. Sam nie jestem szczególnie uzdolniony plastycznie, więc w tym aspekcie można mieć uwagi, ale uważam, że funkcjonalnie strony są całkiem sprawne, zarówno na komputerach, jak i na urządzeniach mobilnych.

Strony czeka jeszcze dopieszczanie - zapewne optymalizacja, otagowanie mikrodanymi, a być może jakaś modyfikacja struktury szablonów. Wszystko to dopiero przede mną.

Wnioski

Jako, że oba projekty potraktowałem jako wprawkę w wykorzystaniu OctoberCMS, to oceniam je głównie pod kątem jego przydatności do tego typu zastosowań. Bez dwóch zdań spełnia swoje zadanie:

  1. wykorzystuje świetny mechanizm szablonów Twig, na pewno lepszy niż laravelowy Blade,
  2. pozwala na proste rozszerzanie funkcjonalności, zarówno w takim podstawowym zakresie (sekcje kodu PHP przypisane do szablonów), jak i bardziej zaawansowane (przez budowę własnych wtyczek, dobre API),
  3. ma się wrażenie, że potencjał jest dużo większy, niż ten wynikający z całkiem niezłej dokumentacji,
  4. ale przede wszytskim jest na tyle elastyczny, że łatwo daje się adaptować do różnych zastosowań nawet bez sięgania po gotowe, dedykowane wtyczki.

Z czystym sumieniem polecam OctoberCMS do szybkiej budowy niezbyt skomplikowanych stron, nad którymi chcemy mieć odrobinę więcej kontroli bez konieczności przegryzania się przez skomplikowane struktury stworzone przez innych programistów. Wybitnie ułatwia życie znajomość Laravel, gdyż można wprost wykorzystywać jego funkcje i logikę, co oczywiście przekłada się na czystość i zwięzłość kodu.


blog comments powered by Disqus