Имам сайт с opencart и се опитвам да конфигурирам опциите за споделяне във facebook на моите продукти.
Тъй като всичко се зарежда като отделен модул, не мога да задам мета таговете във facebook по този начин (header.tpl
):
<meta property="og:description" content="<?php echo $description; ?>" />
Тъй като $description
не съществува, докато модулът header
се зарежда. Създава се в контролера на модула product
. Така че се опитах да променя динамично стойността на съдържанието (product.tpl
):
$("meta[property='og:description']").attr('content','<?php echo $description; ?>');
И проработи, виждам, че стойността е променена (в изходния код на страницата), след което отстраних грешки страницата ми, но не можах да получа стойността.. Мисля, че знам причината, трябва да задам стойността преди зареждането на страницата, но не съм сигурен как мога да направя това.. Имате ли някаква идея?
controller::render()
и мисля, че бихте могли да успеете да прехвърлите$this->data
отrender()
в повикванетоgetChild()
- по този начин с малко усилия всички данни от основното съдържание могат да бъдат споделени между децата i> (горен колонтитул, долен колонтитул, колони, ...). След това трябва да можете просто да използвате тези променливи от основното съдържание, напр. в заглавката си, за да проверите дали присъстват и ако да, тогава изобразете FB метатаговете... Това би трябвало да изисква по-малко усилия при програмиране, но може да причини ненужно и нежелано увеличение на консумацията на памет (може би само малко). - person shadyyx   schedule 05.08.2014