Advertisment modul - akkor is létrehoz blokkot, ha kikapcsolt a reklám..

  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • The spam filter installed on this site is currently unavailable. Per site policy, we are unable to accept new submissions until that problem is resolved. Please try resubmitting the form in a couple of minutes.
Kategória: 
Leírás

Az AD modulnak van egy furcsasága: Hiába nincs bekapcsolva a reklám, ha már egyszer elhelyeztük egy régióban a reklámblokkot, akkor minden esetben kerül bele tartalom. Ez több kavarodást is okozhat.
Az én esetemben az volt a gond, hogy a page.tpl.php-ban a reklámblokk régiójának meglétét kellet volna vizsgálni egy feltételben, hogy a logonak extra classt tudjak adni attól függően, hogy van-e hirdetés a fejlécben, vagy nincs.

Ennyi lett volna a feltétel:

[geshifilter-code]<div id="logo" class="<?php if (!$ad_top): print "no-ad"; ?><?php endif; ?>">[/geshifilter-code]

A kérdés az volt, hogyan tudnánk rávenni a Drupalt, hogy aktív reklám nélkül az $ad_top régió tök üres legyen?

Először az ad.module alapján a theme_ad_display-t kezdtem el babrálni a sminkem template.php-jében, de ez még egy egyszerűbb modul esetében is néha meghaladja a tudásomat, az ad pedig nem az kimondottan egyestés parti..

Kb. akkor akartam feladni, amikor a dorg-on is láttam a témát hónapok óta megoldatlan issue-ként. Itt ugyan egy patch részmegoldást nyújthat, de elég aktív site lesz ahhoz, hogy ne kezdjek ilyesmivel kísérletezni.

Egyetlen szerencsém volt, hogy hirdetés megjelenés típusa "Nyers" volt, és fix időre kiadott hirdetések lesznek, így a cache-sal sem kellett törődni.
Ez azt jelenti, hogy kikapcsolt hirdetésként ilyen tartalommal jelenik meg a blokk:

<!-- No active ads were found in t1 -->

Miután ha megvesztem sem sikerült a reklámot tartalmazó $contentet vizsgálni a page.tpl.php-ban, a block preprocess felé kezdtem keresgélni.

Kíváncsi voltam, hogy egy üres block template-tel hogy viselkedik a régió.

Ez került block preprocessbe:

[geshifilter-drupal6]function SMINKNEVE_preprocess_block(&$vars, $hook) { $block = $vars['block']; if (($block->module == 'ad') && ($block->content == '<!-- No active ads were found in t1 -->')) { $vars['template_files'] = array('empty-block'); } return $vars; }[/geshifilter-drupal6]

Feltöltöttem a smink template könyvtárába egy teljesen üres empty-block.tpl.php nevű file-t, smink gyorstár ürítés, és máris dobtam a hátast: Az $ad_top régióváltozó tök üres volt! Tehát a továbbiakban a page.tpl.php-ban minden további nélkül lehet vizsgálni azt a feltételt, hogy van-e hirdetés, vagy nincs.

Természetesen ez is elég fapados megoldás.. Mindenképpen külön régió kell a hirdetéseknek, és csak a nyers megjelenési formánál működik (mondjuk ezek után csak meg kell nézni a többi forma által generált html-t, és kiegészíteni..), de sajnos azt nem tudom elképzelni egyelőre, hogy több hónapja lezáratlan issue-t oldok meg.

Annyiban tartom jónak ezt a megoldást, hogy legalább page.tpl.php-ban nem generál felesleges html szemetet..

Azért ha valakinek van jobb ötlete, szeretettel várom a kommentek között.

Hozzászólások

klds4x0b

uem9z5b fotbollströjor

uem9z5b fotbollströjor 5fet7wn cqodiws3 maglie calcio poco prezzo uak57g4t 5kgsxjmufp billige fotballdrakter vredf3581 ucjy9583 billige fodboldtrøjer n231f64xmb

Pretty beneficial looking

Pretty beneficial looking ahead to returning.

Great looking internet site.

Great looking internet site. Presume you did a bunch of your own html coding.

Many thanks really helpful.

Many thanks really helpful. Will share site with my good friends.

fotbollströjor fodboldtrøjer

websitetestlink. samsung.

Hozzászólás

A mező tartalma nem nyilvános.
  • Internal paths in double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or relative path.
  • Engedélyezett HTML elemek: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <del> <img>
  • A webcímek és email címek automatikusan linkekké alakulnak.
  • A sorokat és bekezdéseket a rendszer automatikusan felismeri.
  • Engedélyezett HTML elemek: <a> <blockquote> <br> <cite> <code> <dd> <del> <div> <dl> <dt> <em> <li> <ol> <p> <span> <strong> <ul>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <bash>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <mysql>, <php>, <python>, <ruby>, <sql>. The supported tag styles are: <foo>, [foo].
  • Minden email cím át lesz alakítva ember által olvasható módon, vagy (ha a JavaScript engedélyezett) ki lesz cserélve kattintható, de biztonságos hivatkozásra.