banner nach break in Artikel
Eingetragen von holger@drupal.org (544)
am 24.08.2005 - 00:45 Uhr in
am 24.08.2005 - 00:45 Uhr in
Hallo allerseits,
ich nutze Drupal 4.6.3 und das Banner Modul.
Nun würde ich gern in Artikeln oder Blog-Einträgen nach dem #!--break--# einen Banner platzieren aber da wird nichts angezeigt. Weder mit html filter noch php. Wenn ich den javascript-code nutze gehts komischerweise aber
<?php
echo banner_display(2);
?>
Weiß jemand woran das liegt?
Im internationalen Forum hab ich nichts gefunden und dort auch mal gepostet http://drupal.org/node/29495.
mfg Holger
- Anmelden oder Registrieren um Kommentare zu schreiben
Drupal Filter ?
am 24.08.2005 - 10:19 Uhr
mach mal statt
"echo banner_display(2)" ein "echo 'test'" oder auch mit print
ich hab den Verdacht, dass die filter Funktionen das script Tag rausfilter
MfG Micha
- work in progress mit Langmi.de
Also erst habe ich das mit
am 24.08.2005 - 18:26 Uhr
Also erst habe ich das mit Filtereinstellung PHP versucht, dann wird
<?php
print "test";
?>
Dann selber Inhalt mit Full-HTML Filter ... dann funktioniert --break-- aber
<?php
print "test";
?>
Dann habe ich einfach mit PHP_Filter mal nach --break-- einen simplen Punkt gesetzt und danach den PHP-Code.... dann funktioniert es, allerdings wäre dann immer der Punkt sichtbar.
Im internationalen Forum ist bisher auch keine Antwort.
mfg Holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Wäre es denn nicht möglich
am 27.08.2005 - 21:24 Uhr
Wäre es denn nicht möglich es so zu organisieren, das man generell nach #!--break--# einen vorgegebenen Code, zum Beispiel für Google adsense oder Mirago Content darstellen lässt? Also das der Code immer wenn ich den treaser setze automatisch mit eingefügt wird.
Im internationalen Forum fand ich dazu leider auch nichts.
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Ich habe dazu auch in dem
am 28.08.2005 - 01:06 Uhr
Ich habe dazu auch in dem internationalen Forum nochmal gepostet:
http://drupal.org/node/29834
Im grunde geht es mir darum, wie man nach jedem Treaser --break-- automatisch einen beliebigen code wie zum Beispiel einen Banner oder auch Google-Adsense Script mit darstellen lassen kann, ohne diesen immer wieder von Hand eingeben zu müssen, also eben generell nach jedem !--break--
Ich habe schon Stundenlang im Drupal Forum gesucht aber nichts gefunden.
Eigentlich wundert mich das diese Frage noch nicht da war weil grade etwas größere Seiten wie Portale oder kommerzielle Blogs nutzen das ansich oft so für Werbung, erst ein textabriß, dann nach dem zeilenumbruch beim vollen Artikel etwas Werbung (Banner etc.) und danach der Restliche Artikel.
ich hoffe es weiß hier wer eine Lösung.
mfg holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Ich hab auf drupal.org einen
am 28.08.2005 - 02:44 Uhr
Ich hab auf drupal.org einen kleinen Patch gepostet: http://drupal.org/node/29834#comment-51039
HTH, Uwe.
--
hermann-uwe.de | crazy-hacks.org | unmaintained-free-software.org
Danke Uwe, ich teste es
am 28.08.2005 - 13:39 Uhr
Danke Uwe, ich teste es ;-)
mfg holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Leider klappt das nicht so,
am 29.08.2005 - 08:05 Uhr
Leider klappt das nicht so, die Fehlermeldung habe ich hier gepostet:
http://drupal.org/node/29834#comment-51180
mfg holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Hallo Holger,
am 29.08.2005 - 11:22 Uhr
Hallo Holger,
so kann es nicht funktionieren.
Du könntest in der function node_view irgendwie sowas defineren:
if (module_exist('banner')) { $banner= $hier_der_banner_code; }
Und das dann in Uwes Patch so einbinden:
$node->body = str_replace('<!--break-->', $banner, $node->body);
Grüße
Björn
Error :-(
am 01.09.2005 - 14:35 Uhr
Ich habe das folgendermaßen gemacht:
function node_view($node, $teaser = FALSE, $page = FALSE, $links = TRUE) {
$node = array2object($node);
if (module_exist('banner')) { $banner= $banner_display(2); }
// Remove the delimiter (if any) that separates the teaser from the body.
// TODO: this strips legitimate uses of '<!--break-->' also.
$node->body = str_replace('<!--break-->', '', $banner, $node->body);
aber klappt nicht. Folgende meldung:
Fatal error: Call to undefined function: () in /www/htdocs/stnx/modules/node.module on line 485
Weiß jemand was ich falsch gemacht habe?
mfg holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
error
am 02.09.2005 - 07:56 Uhr
Ich habe nun versucht, den bereich *if...* woanders zu platzieren aber das gibt dann auch nur die selbe Fehlermeldung, lediglich die Zeile ändert sich dann.
mfg holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
ist das die komplette Fehlermeldung ?
am 02.09.2005 - 08:32 Uhr
ist die Fehlermeldung evtl. noch etwas länger ? wenn man wüßte welche Funktion denn nun nicht vorhanden ist, würde das die Fehlersuche ungemein erleichtern
MfG Micha
- work in progress mit Langmi.de
Ja ist alles was da
am 02.09.2005 - 08:36 Uhr
Ja ist alles was da kommt
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Tippfehler ?
am 02.09.2005 - 08:45 Uhr
str_replace hat nur 3 Argumente
mixed str_replace ( mixed search, mixed replace, mixed subject )
du versuchst 4 zu übergeben...
MfG Micha
- work in progress mit Langmi.de
Aha… und was kann ich da
am 02.09.2005 - 08:48 Uhr
Aha... und was kann ich da nun tun? Ich bin was solche Dinge angeht echt blutiger Anfänger leider.
danke, holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Nachlesen :)
am 02.09.2005 - 08:59 Uhr
entweder schaust du dir Björns Kommentar nochmal genauer an...oder du liest die PHP.net Doku zu str_replace nach
auf jeden Fall empfehle ich dir $banner mit $banner = '' zu initialisieren
MfG Micha
- work in progress mit Langmi.de
Verstehe ich jetzt nicht,
am 02.09.2005 - 09:31 Uhr
Verstehe ich jetzt nicht, ich habe das doch so eingefügt .... mh
dein Code
am 02.09.2005 - 09:34 Uhr
dein Code
<?php
function node_view($node, $teaser = FALSE, $page = FALSE, $links = TRUE) {
$node = array2object($node);
if (module_exist('banner')) { $banner= $banner_display(2); }
// Remove the delimiter (if any) that separates the teaser from the body.
// TODO: this strips legitimate uses of '<!—break—>' also.
$node->body = str_replace('<!—break—>', '', $banner, $node->body);
?>
ist in der letzten Zeile anders als Björns Vorschlag
<?php
$node->body = str_replace('<!—break—>', $banner, $node->body);
?>
MfG Micha
- work in progress mit Langmi.de
Ich habe das nu so aber der
am 02.09.2005 - 10:59 Uhr
Ich habe das nu so aber der fehler ist immernoch... es ist zum verzweifeln:
function node_view($node, $teaser = FALSE, $page = FALSE, $links = TRUE)
{
$node = array2object($node);
if (module_exist('banner')) { $banner= $banner_display(2); }
// Remove the delimiter (if any) that separates the teaser from the body.
// TODO: this strips legitimate uses of '<!--break-->' also.
$node->body = str_replace('<!--break-->', $banner, $node->body);
Oder liegt der Fehler darin wie ich Uwes patch eingebracht habe? Ich habe nur die unterschiedlichen zeilen manuell in der node.module ausgetauscht.
mfg holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
wäre es möglich dass du
am 02.09.2005 - 11:21 Uhr
wäre es möglich dass du mir einfach die einzubringenden Code-Zeilen schickst ? dazu noch die Info welches node.module du benutzt
..das steht gleich zu Beginn des Node-Modules und sieht ungefähr so aus
// $Id: node.module,v 1.485.2.13 2005/08/11 12:54:17 dries Exp $
MfG Micha
- work in progress mit Langmi.de
Lösung
am 02.09.2005 - 11:35 Uhr
Danke Euch allen, hier die Lösung von Micha die nun funktioniert:
function node_view($node, $teaser = FALSE, $page = FALSE, $links = TRUE) {
$node = array2object($node);
// changed for banner-display after <--break--> command
if (module_exist('banner')) {
$banner = banner_display(2);
}
else {
$banner = '';
}
$node->body = str_replace('<!--break-->', $banner, $node->body);
danke :-)
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Vielen Dank! Auch ich will
am 24.10.2007 - 12:42 Uhr
Vielen Dank!
Auch ich will gern in Artikeln oder Blog-Einträgen nach dem #!--break--# einen Banner platzieren aber ich will gerne openads dafur nutzen. Ik habe kein banner module aber ich habe "blocks" mit openads banner code darin.
In so ein "block" steht diese code:
<script type='text/javascript'><!--//<![CDATA[
var m3_u = (location.protocol=='https:'?'https://www.mijndomein.nl/rec/www/delivery/ajs.php':'http://www.mijndomein.nl/rec/www/delivery/ajs.php');
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?zoneid=3");
document.write ('&cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
document.write ("&loc=" + escape(window.location));
if (document.referrer) document.write ("&referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if (document.mmm_fo) document.write ("&mmm_fo=1");
document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://www.mijndomein.nl/rec/www/delivery/ck.php?n=aa010421&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://www.mijndomein.nl/rec/www/delivery/avw.php?zoneid=3&cb=INSERT_RANDOM_NUMBER_HERE&n=aa010421' border='0' alt='' /></a></noscript>
Ist es moglich um die Lösung von Micha zu brauchen mit die code hieroben?
Grüße
Ralf
Auch hier gibt es eine
am 24.10.2007 - 14:07 Uhr
Auch hier gibt es eine Lösung aber kann ich in die code javescript platzen?
http://drupal.org/node/29834
Mit der von Uwe Hermann auf
am 24.10.2007 - 19:31 Uhr
Mit der von Uwe Hermann auf http://drupal.org/node/29834#comment-51039 beschriebene Lösung sollte es möglich sein den Javascript-Code einzubringen. Die Implementierung des Drupal-Bannermodules ist allerdings die elegantere Variante ;-)
MfG Holger
IT Weblog http://w3blogs.de
parse error
am 24.10.2007 - 22:00 Uhr
Hallo Holger,
vielen dank fur dein Antwort. Leider gibt es ein Fehlermeldung:
Parse error: parse error, unexpected T_STRING in /home/virtual/mijndomein.nl/test/htdocs/modules/node/node.module on line 758
Ich habe es so gemacht:
$node->body = str_replace('<!--break-->', ' <script type='text/javascript'><!--//<![CDATA[
var m3_u = (location.protocol=='https:'?'https://www.online-internetmarketing.nl/rec/www/delivery/ajs.php':'http://www.online-internetmarketing.nl/rec/www/delivery/ajs.php');
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?zoneid=4");
document.write ('&cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
document.write ("&loc=" + escape(window.location));
if (document.referrer) document.write ("&referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if (document.mmm_fo) document.write ("&mmm_fo=1");
document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://www.online-internetmarketing.nl/rec/www/delivery/ck.php?n=ab83c427&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://www.online-internetmarketing.nl/rec/www/delivery/avw.php?zoneid=4&cb=INSERT_RANDOM_NUMBER_HERE&n=ab83c427' border='0' alt='' /></a></noscript> ', $node->body);
Vielleicht ein klein anderung?
Mfg Ralf
Ich empfehle Dir das
am 25.10.2007 - 00:24 Uhr
Ich empfehle Dir das Banner-Modul zu installieren http://drupal.org/project/banner denn mit diesem Modul kannst Du auch solche komplexen javascript-Codes implementieren.
Für Banner-1 würde das ganze dann so aussehen:
in node.module ersetze folgendes in Zeile 531 (Drupal 4.7.8)
function node_view($node, $teaser = FALSE, $page = FALSE, $links = TRUE) {
$node = array2object($node);
// changed for banner-display after <--break--> command
if (module_exist('banner')) {
$banner = banner_display(1);
}
else {
$banner = '';
}
$node->body = str_replace('<!--break-->', $banner, $node->body);
Das ist die einfachste Lösung, welche auch funktional ist und Du kannst dann Deinen Javascript-Code ganz einfach über die Banner.Module Administration verwalten ohne jedesmal in die Core Dateien zurück zu müssen.
Aber vielleicht fällt ja hier noch jemandem eine effizientere Variante ein. Zumindest hatte ich das so bei mir realisiert.
Gruß Holger
IT Weblog http://w3blogs.de