Niekolko eshop instancii na roznych weboch?
- Matúš Matula
- Člen | 257
Klient ma siet webov, pricom 1 je ‚hlavny‘ a ostatne su akoby ‚pobocky‘. Chcel by mat na vsetkych strankach rovnaky eshop (rovnaky tovar, sluzby, funkcionalita, ine sablony) s poziadavkou jednoduchej integracie eshopu do pobociek (tie stale pribudaju).
Nenapada ma, ako elegantne riesit spravu/upravu kodu (urobit to napriklad raz na hlavnom webe, a nie N-krat na vsetkych weboch)
Poradite? :)
- Matúš Matula
- Člen | 257
Neviem si to nejako predstavit. Chapem to tak, ze by som mal na ‚pobockovom‘ webe modul eshop a ten by mal pretazit sablony hlavneho webu. Ale samotny kod aplikacie by lezal kde a ako by sa k nemu pristupovalo?
- newPOPE
- Člen | 648
Vsetko na tom istom mieste :-)
Jeden server a pouzitie multisite. cize len nasmerujes domeny a App si to uz podla domeny zariadi…
Este sme mali jeden napad na nieco podobne.
- Vytvorit public API (napr. JSON) ktore bude len servirovat ciselniky + nejake linky na obrazky, a bude prijimat napr. objednavky v urcitom formate
- A shop uz bude ako samostatna app cize napr. iny server hosting secko ale ako datasource bude pouzivat to API (tu je potom moznost mat webApp, iPhone, Android … )
- tu nastal maly problem s adminstraciou :-), to sme zatial nedoriesili
- mm-marek
- Člen | 61
ad varianta s public api, jednou jsem to řešil tak že jsem stahoval xml data z centrálního webu (kde byla centrální administrace) a na menších webech jsem to ukládal do databáze. Mělo to i vlastní administraci a příznak jestli je to nastavený lokálně. Z centrálního webu se pak dala celá aplikace aktualizovat podobně jako teď např. wordpress – akorát jsem to neměl tak hezky :)
- Matúš Matula
- Člen | 257
:) Keby bolo mozne multisite riesenie, tak nie je o com samozrejme :)
Co sa tyka public API, tak tiez som nad tym uvazoval, ale z lenivosti sa mi
do toho prilis nechce :)
Sprava kodu sa prilis nezjednodusi, kazdy zasah bude treba urobit osobitne na
kazdom webe.
Nic lepsie ma ale nenapada zatial.
@mm-marek:
Ako si to myslel s tou centralnou aktualizaciou?
Proste si duplikoval data z centralneho webu a ukladal ich lokalne na kazdom
webe ci som to zle pochopil? Kedze to malo vlastnu administraciu, tak to bola
potom viac-menej standalone app na kazdom tom serveri?
- mm-marek
- Člen | 61
je to v zásadě standalone aplikace – data si natáhne z centrálního webu, stejně jako případné aktualizace. A administraci to má vlastní, protože někdy tam byla potřeba udělat změna, která potlačovala původní data na centrálním webu. A aktualizace souborů tam byla protože připojovat se na několik desítek ftp a nahrávat tam update souborů je opruz…
- Filip Procházka
- Moderator | 4668
aktualizace více webů? není co řešit: git
multisite? asi nejlepší řešení
$router[] = new Route("//[!www.][!<domain .*?>]/<modul>/<presenter>/<action>", array(
'domena' => 'eshop-mainweb.cz',
'modul' => 'Shop',
'presenter' => 'Categories',
'action' => 'default',
));
// ...
a BasePresenter
class BasePresenter extends Nette\Application\Presenter
{
/** @persistent */
public $domain = 'eshop-mainweb.cz';
// ...
}
a pak si ošetřit práva pro jednotlivé domény uživatelům
velká výhoda: společný autentizační server (třeba
auth.eshop-mainweb.cz
) – Bleskový oauth nebo podobný protokol,
protože nic nepřenáší mezi servery, jenom se přesměruje s nějakým
klíčem na jinou doménu, přihlásí se a původní doména přihlásí
uživatele na základě záznamu o úspěném přihlášení pod předaným
klíčem.
Co se týče ale těch více domén… není to přece jenom hloupost u eshopu? nebylo by lepší udělat jeden eshop a vytvořit pod ním „pobočky“ jako to má většina normálních eshopů? A reálné pobočky by pak exportovaly aktuální sklad do eshopu a zboží by se promítalo do webu. Bylo by to lepší, protože u každého produktu by měl uživatel že na té pobočce není a na té pobočce je… Více domén mu nemusí nezbytně zajistit lepší návštěvnost. Zkus mu to rozmluvit.