Pokročilé propojení Realman aplikace a WordPressu

Realman plugin

Nedávno jsem pro klienta (jiného vývojáře) opět propojoval WordPress a Realman realitní aplikaci, a tentokrát to byla větší výzva než jindy. Klientův web byl totiž vícejazyčný, přes WPML plugin byl rozdělen na CZ a EN mutace. A po chvíli vývoje samozřejmě vyvstal požadavek, aby při importu českého inzerátu z Realmanu došlo automaticky i k vytvoření jeho EN mutace. Pro své multijazyčné weby  používám vždy Polylang plugin, který mi připadá koncipovaný jako více WordPress-like než zmatelný WPML, a tato práce s WPML na úrovni PHP funkcí mě v tom jen utvrdila. Naimportování nové nabídky z Realmanu tedy vytváří vedle CZ záznamu ještě EN záznam se všemožnými specifiky. Zajímavým oříškem byla práce s fotografiemi, protože z výkonnostních důvodů se při importu nabídky nezpracovávají všechny, ale v několika dávkách se následně dostahovávají. A já musel neustále myslet na to, aby se každé takovéto pozdější změny promítaly také do EN mutace českého inzerátu.

Časem také přišel požadavek, zda-li by šlo nabídky – povětšinou komerční kancelářské prostory – nějak seskupovat „do budov“. Realman umí spravovat „developerské projekty„, takže se ukázalo býti cestou to, že se jednotlivé budovy pozakládají jako developerské projekty, a běžné nabídky se do nich zařadí. Můj importní můstek pak dokázal naimportovat data developerského projektu jako nový typ nabídky (a překlápět ji opět ještě do EN mutace …), a při importu každé jiné nabídky sledoval, zdali nemá nastavený developerský projekt. Pokud ano, pak je vzájemně spároval a nastavil do vztahu, který si vývojář ve své šabloně namyslel. Zdálo by se to jednoduché, ale ona z toho vyvstala i jiná potřeba – a to při importu developerského projektu následně prohledat všechny již dříve importované nabídky, jestli do něj náhodou nespadají. A případně je dospárovat. Musím totiž samozřejmě počítat jak s jednoduchou situací, kdy se stahuje nabídka spadající do již dříve vyvořeného developerského projektu, tak se situací, kdy se stáhne deset takových nabídek, a až jedenáctá bude záznam samotného developerského projektu.

Aby toho nebylo málo, tak došlo na požadavek, aby se u každého devloperského projektu také evidovaly statistické / souhrnné informace o jeho nabídkách, jinými slovy o výměře a cenách jednotlivých kanceláří spadajících do dané budovy. Aby návštěvník webu hned viděl, že v budově A jsou kancelářské jednotky od 40 m2 do 150 m2, a jaký je cenový rozsah pronájmů kanceláří, atd. Při importu každé jedné nabídky bylo tedy nutné zjistit, jestli spadá pod nějaký projekt, a pokud ano, tak vyhledat všechny jeho další nabídky a spočítat rozsahy podlahových ploch a cen pronájmu, a u projektu tyto údaje zaktualizovat.

Ve výsledku to bylo práce jako na kostele, ale zakázka to byla zajímavá, a podařilo se mi bez problémů zapracovat všechny požadavky, se kterými klient postupem času přišel.

Napsal Marek Klusák, programátor a webdesigner. Kontakt

Další příspěvky v rubrice Realman plugin