Predstavte si takýto scenár: Máme view nejakého typu obsahu. Každá entity má priradený nejaký taxonomy term no a my chceme tento obsah podľa tohto taxonomy term filtrovať. Inými slovami: chceme zobraziť len ten obsah, ktorý má priradený určitý taxonomy term. Jednoduché, že? Vytvoríme príslušné view na lokálnom prostredí. Všetko funguje. Potom to pushneme na produkciu a čo? Veď na produkcii to nefunguje, prečo? No pretože taxonomy term ID na našom lokálnom stroji je s najväčšou pravdepodobnosťou iné ako na produkčnom serveri. Synchronizujú sa len konfiguračné entity a taxonomy term je obsah.
Riešenie je veľmi jednoduché a ak ste nad tým začali premýšľať koncom predchádzajúceho odstavca, už to určite aj dávno máte. Ale ak úplnou náhodou nie, tak takto som to poriešil ja:
- Vytvorte nový field pre túto taxonómiu. Bude to niečo ako machine name, ale textové. Pomenujte ho napríklad
field_id. - Pridajte do tohto poľa hodnoty, minimálne pre tie terms, podľa ktorých chcete filtrovať. Napríklad ak máte slovník Ovocie a taxonomy term Pomaranč, tak tam dajte
pomaranc. To isté spravte na všetkých prostrediach. - Upravte view. Pridajte vzťah k príslušnej taxonómii a filtrujte podľa
field_id. - Dajte si kávu, opájajte sa vlastnou výnimočnosťou a Drupalom a jeho možnosťami štruktúrovaného obsahu.
Komentáre