Jediná cesta je buď si upravit HCM a nebo tu reklamu tam nějak vecpat přes jquery
Jojo což to jo, myslel jsem pomocí HCM. Co konkrétně bych potřeboval. Mám upravený HCM modul articles, aby mi vypisoval články do sloupců. Problém je, že když si nechám vypsat 9 posledních článků do 3 sloupců, tak poslední články se úplně rozhodí.
Aby se mi to vypsalo do sloupců, je třeba je zarovnat vlevo.
Takže po prvních 3 článkách bych potřeboval vložit kód, který zarovnání vymaže, aby se ty články nerozhodily. Pro ukázku je to vidět na www.destna.cz hned v úvodu (pod Novinky z našeho města).
Musíš dosáhnout toho aby byly ty články stejné vysoké, takže buď nastavit fixní výšku divu, který značí jeden článek a nebo v tom HCM upravit html tak aby to byla tabulka. Aby jsi vložil vždy po třech článcích reklamu, stačí použít něco takového:$x=1;
for ($i=1;$i<22;$i++){
echo $i.'<br />';
if (is_int($x/3)) echo 'Reklama<br />';
$x++;
}Místo for je v HCM while jde hlavně o to $x
V souboru plugins/hcm/articles.php je tento řádek:$result .= _articlePreview($item, $info, $perex !== 0, (($info !== 0) ? $item['comment_count'] : null));uprav to takto:$result .= '<div class="article-item">';
$result .= _articlePreview($item, $info, $perex !== 0, (($info !== 0) ? $item['comment_count'] : null));
$result .= '</div>';a pak už si s tím v css můžeš dělat co chceš, např. nastavit šířku, obtékání a aby to správně obtékalo, tak i výšku. Musíš pak ale vždy dodržet nějakou maximální délku perexu.
Pokud by jsi nedokázal zajistit maximální délku perexu, tak bys mohl ještě kód upravit takto:$x=1;
while ($item = DB::row($query)) {
$result .= '<div class="article-item">';
$result .= _articlePreview($item, $info, $perex !== 0, (($info !== 0) ? $item['comment_count'] : null));
$result .= '</div>';
if (is_int($x/2)) $result .= '<div class="cleaner"></div>';
$x++;
}
Vyzerá to tak, že to funguje. Ďakujem 🙂
Řešení je několik.
1. v případě že to potřebuju u všech kategorií a potřebuju upravit i SQL dotaz, tak extendem page.category.pre přetížím cely skript
2. v případě, že to potřebuju u všech kategorií, ale nepotřebuju upravit SQL, tak extendem article.preview přetížím jen danou funkci
3. v případě, že to potřebuju jen u něktrých kategorií, tak pomocí extend eventu page.event.jv_cat přetížím opět dle potřeby upravit SQL
Pravdepodobne prva moznost, i ked neviem presne ci potrebujem upravit ten SQL dotaz - nie je mi jasne co sa presne stane ak sa upravy aj SQL... 😕
"1. v případě že to potřebuju u všech kategorií a potřebuju upravit i SQL dotaz, tak extendem page.category.pre přetížím cely skript"