złożone strony a WordPress

0

Witam,

Pytanie do praktyków WordPress'a (którego w ogóle nie znam):

Czy da się zrobić w tym w miarę łatwo bardziej złozone mechanizmy jak tutaj: http://www.polskibus.com/pl/index.htm
(na ww. stronie - wybieranie terminu, rezerwacja biletu, kupno biletu).
Tyle że jeszcze bardziej złożone, tzn. ekstra funkcje, jak ocenianie, wygodna edycja kontentu etc.

A może inny CMS byłby lepszy, tzn. efektywniejszsy np. Drupal 8 (ważne, by była najnowsza wersja)?

Czy też lepiej i szybciej byłoby w np. we frameworku jak Symfony3 (który dla odmiany znam)? (Czasu na naukę nowego narzędzia proszę nie liczyć).

Z góry dzięki za szybka odpowiedź.

0

wszedłem i ta czerwień prawie wypaliła mi oczy :)

masz kilka opcji
wordpress plus jakiś plugin, więc szukasz:

Replace The Default WordPress Search Engine With Something Better
Best WordPress Search Plugin

nie znajdujesz czego potrzebujesz to albo modyfikujesz co jest albo uderzasz w np. bootstrapa i wtedy:

Bootstrap search code examples
Stylish search box
Search navbar bootstrap template

a jak widzisz, że nic z tego kompletnie nie rozumiesz to zlecasz komuś innemu co umie i tyle w zasadzie...

0

Dzięki za szybką odpowiedź!

Widzę, że niewłaściwie ująłem pytanie :) To może bardziej konkretnie i precyzyjnie:

Czy dużym wyzwaniem jest zrobienie podobnego widget'u rezerwacji w WordPress'ie (w porównaniu do np. pracy w jakimś framework'u MVC)?

Gdybym miał to zrobić w Symfony, zrobiłbym po prostu stronę HTML (Twig) z załadowaną biblioteką JavaScript, na której leżałaby większość ciężaru odpowiedzialnego za rezerwację, wybór daty itd. Natomiast po stronie PHP (serwera) zrobiłbym po prostu jakiś serwis REST, pozwalający na przesłanie gotowego wyniku, lub ewentualnie nawet prosty formularz POST (daty, nazwy... itd.).

Pytanie, czy w WordPress robienie takiego backendu (w końcu CMS to przede wszystkim front), choćby kontrolera, jest większym wyzwaniem, niż w "zwykłym" PHP, czy trzeba się więcej napocić przy tym? A może jest prosty sposób na dodanie takiego backendu? (Przypomnę, ze nigdy nic nie robiłem w WordPress).

0

jak nie masz jakiegoś wyraźnego powodu aby używać wordpressa to bez sensu trochę, tym bardziej że musiałbyś ogarnąć hooks, bo jak zaczniesz rzeźbić to po aktualce może sie wysypać, oczywiście automatyczne możesz wyłączyć ale z kolei nie będziesz miał poprawek bezpieczeństwa i tak w kółko

0

Mam: klient go bardzo chce. Tak więc pytanie dotyczy możliwości obsługi customowych formularzy, zrobienia jakiegoś kontrolera, czy ogólnie backendu w tym?

Jeśli to skomplikowana kwestia (sporo rzeźbienia w samym WordPress), to po prostu musiałbym zasugerować inne rozwiązanie.

1

jak chcesz to zrobić prawilnie to musisz przyswoić hooks

https://codex.wordpress.org/Writing_a_Plugin

1

Ja jestem zapalonym fanem WordPressa. Ma swoje plusy i minusy, przez wielu jest znienawidzony, a przez innych to super narzędzie. Według mnie jest to super narzędzie dla klientów, którzy nie mają zbyt dużo informatycznej/technicznej wiedzy, ponieważ jest naprawdę prosty w obsłudze. Być może właśnie dla tego klient bardzo chcę wykorzystać ten CMS.

Mam już jakieś doświadczenie w tworzeniu rzeczy pod WP i jestem zdania, że wszystko da się w tym zrobić. Jeśli znasz Symfony i chciałbyś napisać taki system w tym frameworku - da się to zrobić ( widziałem kilka takich projektów ), ale myślę, że to za bardzo nie ma sensu. Ogólnie według mnie wszystko można podpiąć pod WP ( ostatnio nawet udało mi się zaimplementować angulara z wykorzystaniem backendu WP ).

Jeśli chodzi o Twój problem to będzie trochę kodowania, będziesz musiał zapoznać się z tym jak się pisze pod WP, ale szczerze powiedziawszy, nie jest to jakoś bardzo skomplikowane. Można zrobić nawet coś takiego, że napiszesz sobie całą funkcjonalność bez wykorzystania WP ( osobny projekt ) a potem podpinasz wszystko jako customowy template dla strony. Po prostu piszesz swoje funkcjonalności do standardowych opcji WordPressa. Plus będzie taki, że cała strona będzie oparta o WP, więc klient nie będzie miał problemu z jej obsługą.

Z tym, że musisz brać pod uwagę brak doświadczenia z WP. Ale jeśli lubisz wyzwania - polecam. WordPress ma też całkiem fajnie rozwiniętą społeczność i dokumentację.

0

@przemek.hernik Ok. Dzięki za odp., na pewno Twoja uwaga jest bardzo wartościowa jako znawcy WP. W takim razie co powiesz na takie połączenie w kontekście tego typu projektu:

  • minimum zmian w WP, głównie po stronie template (front) + np. jakiś form (do wstawiania daty, wyboru miasta itp.) wzięty z Symfony (w Symfony sprowadza się to do użycia funkcji Twiga - systemu szablonowego coś jak Smarty)
  • wykorzystanie Twiga (czy łatwo to zrobić w WP?)
  • wykorzystanie AngularJS + JQuery (czy jest z tym duży problem?)
  • cała logika, tak jak piszesz, osobno w Symfony - front komunikuje się z serwerem, czyli Symfony, przez forms POST lub REST

Czy w takiej sytuacji muszę tworzyć jakieś pluginy? A co z przyszłymi aktualizacjami WP, czy można namieszać jeśli chodzi o kwestie bezpieczeństwa, lub co gorsza, mogą powstać problemy z aktualizacją samego WP, jeśli pojawi się nowa wersja, przy zastosowaniu takiego rozwiązania, j.w.?

I jeszcze jedno pytanie: czy możesz powiedzieć na czym polega podstawowa trudność stworzenia jakiegoś sensownego (bez kodu spaggetti etc.) backendu w WP?

0

Hmm, ja niestety nie jestem dobrze obeznany z Symfony ( znam jakieś minimalne podstawy ) dlatego niestety nie doradzę Ci tu w 100%, nie chcę Cię wprowadzać w błąd.

  • " minimum zmian w WP..." :
    Tak naprawdę funkcjonalność, którą chcesz zaimplementować można stworzyć bez większego kopania w backendzie wordpressa. Tak jak pisałem - cała sprawa w najprostszym przypadku sprowadzała by się to tego, że stworzysz sobie chociażby jeden plik html, który będzie odpowiadał za wyświetlanie i całą funkcjonalność, a następnie przypięcie go jako "Page Template" ( https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/ ) dla jakiejś konkretnej strony. Po wejściu na tą stronę WordPress będzie korzystał z kodu, który znajduje się w tym stworzonym przez Ciebie pliku.
    Jeśli chodzi o podłączenie Symfony / Twig - widziałem projekty, których funkcjonalność była stworzona w Symfony i podpięta pod wordpressa, niestety nie korzystały one z Twig, dlatego nie wiem czy jest to możliwe.

Według mnie z podpięciem całego Symfony jest zbyt dużo kombinowania. Lepiej ogarnąć to jak działa sam WordPress i stworzyć taką funkcjonalność bez wykorzystania Symfony. Jeśli nigdy nie pracowałeś w WP to będzie duże wyzwanie i nie wiem czy możesz sobie na to pozwolić, ale naprawdę trzeba by zapoznać się z podstawami. Chociażby z tym jak tworzyć szablony ( https://developer.wordpress.org/themes/ ).

Jeśli ma być to projekt dla klienta, gdzie MUSI wszystko działać - lepiej zrobić to tak, żebyś nie miał problemu z obsługą tego. Nie daj Boże żeby projekt poszedł na produkcję, coś by nagle nie działało, a Ty byś musiał męczyć się z nieznajomością WP :P

  • "wykorzystanie AngularJS + JQuery (czy jest z tym duży problem?)"
    Wykorzystywanie front-endowych frameworków w wordpressie nie jest w żadnym wypadku problemem. Jak pisałem - według mnie w WP można zrobić bardzo dużo. jQuery jest domyślnie dołączony do Wordpressa, i bez problemu można z tego korzystać.
    Angular to trochę inna bajka. Aby korzystać z Angulara należy znać podstawy działania WP, plus wykorzystywać plugin do REST API ( http://v2.wp-api.org/ ). Jest z tym trochę zabawy, ale fajnie się tego nauczyć. Polecam tutorial ( https://1fix.io/angularjs-wp-rest-api/ )

Jeśli chodzi o aktualizację WP - jeśli za bardzo nie kopie się w backendzie WP ( przy tworzeniu Twojej funkcjonalności nie musiałbyś ) to nie ma żadnego problemu z aktualizacją. Pisanie pluginów to również inna bajka - w Twoim projekcie według mnie nie byłoby to wymagane.

Hmm można by się tu naprawdę dużo rozpisać. Ale w skrócie - jeśli nie masz za dużo pojęcia o WP nie ma co kombinować z łączeniem wszystkiego. Jeśli jakieś pojęcie masz / możesz sobie pozwolić na naukę podczas tworzenia projektu to jak najbardziej polecam. W takim wypadku zapoznaj się z dokumentacją tworzenia motywów.

Możesz wyszukać sobie również w google jakieś artykuły na temat łączenia z Symfony z WP. W dzisiejszych czasach jestem zdania, że już wszystko było, więc takie połączenie pewnie jest opisane.

0
przemek.hernik napisał(a):

Hmm, ja niestety nie jestem dobrze obeznany z Symfony ( znam jakieś minimalne podstawy ) dlatego niestety nie doradzę Ci tu w 100%, nie chcę Cię wprowadzać w błąd.

To nie ma znaczenia jaki framework, wystarczy fakt, czy łatwo jest obsługiwać np. forms czy REST jako "usługę" zewnętrzną w stosunku do WP, korzystając nadal z zalet WP.

przemek.hernik napisał(a):

cała sprawa w najprostszym przypadku sprowadzała by się to tego, że stworzysz sobie chociażby jeden plik html, który będzie odpowiadał za wyświetlanie i całą funkcjonalność, a następnie przypięcie go jako "Page Template" ( https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/ ) dla jakiejś konkretnej strony

Doszedłem do wniosku, że WP prawdopodobnie (?) nie jest dla mnie, i darowałem sobie zlecenie. Brzmi trochę jak tzw. kod spaghetti. Jest tam jakiś sensowny MVC lub ekwiwalent?

0
forsberg napisał(a):
przemek.hernik napisał(a):

Hmm, ja niestety nie jestem dobrze obeznany z Symfony ( znam jakieś minimalne podstawy ) dlatego niestety nie doradzę Ci tu w 100%, nie chcę Cię wprowadzać w błąd.

To nie ma znaczenia jaki framework, wystarczy fakt, czy łatwo jest obsługiwać np. forms czy REST jako "usługę" zewnętrzną w stosunku do WP, korzystając nadal z zalet WP.

przemek.hernik napisał(a):

cała sprawa w najprostszym przypadku sprowadzała by się to tego, że stworzysz sobie chociażby jeden plik html, który będzie odpowiadał za wyświetlanie i całą funkcjonalność, a następnie przypięcie go jako "Page Template" ( https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/ ) dla jakiejś konkretnej strony

Doszedłem do wniosku, że WP prawdopodobnie (?) nie jest dla mnie, i darowałem sobie zlecenie. Brzmi trochę jak tzw. kod spaghetti. Jest tam jakiś sensowny MVC lub ekwiwalent?

jest tam jakiś framework do tego (co jest bez sensu, bo prościej użyć frameworka osobno)
generalnie plusy wordpressa to prosty interface do blogowania czy samodzielnego aktualizowania treści podstawowych stron
na tym plusy się kończą

1 użytkowników online, w tym zalogowanych: 0, gości: 1