wie den Text eines Block in den vorhandenen Text einer beliebigen Seite einfügen
am 22.11.2011 - 16:01 Uhr in
Hallo zusammen,
ich komme einfach nicht weiter ...
Ich möchte einen Text in einem Block, an einer bestimmte Position in den vorhandenen Text einer Seite einfügen. Das Wichtige dabei ist, der eingefügte Block-Inhalt soll nicht wie jetzt auf einer Ebene darüber angezeigt werden, so daß der darunter liegende Text verdeckt wird, sondern direkt in den vorhandenen Text eingefügt werden.
so sieht es derzeit aus: http://www.onlinetechniker.org/glu/?q=node/55
Ich benutze das Yaml-Theme für Drupal u. habe folgendes gemacht:
1. in das yaml\layouts\yaml_3col_standard\yaml_3col_standard.info, die neuen Blockregionen eingetragen
regions[contentkopf] = Content kopf
regions[contentoben] = Content oben
regions[contentunten] = Content unten
...
2. in das yaml\layouts\yaml_3col_standard\page.tpl.php diesen PHP-Code eingefügt der die benötigten HTML-Tags in die Seite schreibt
<?php
if ($contentkopf):
?><?php
print $contentkopf
?><?php
endif;
?>...
...
und schließlich
3. in der yaml\css\screen\content.css die entsprechenden Formatanweisungen zur Positionierung des Blocks vorgenommen
#content-kopf {
display:inline;
position:absolute;
top:300px;
left:350px;
float:none;
width:234px;
height:60px;
padding:0 0 0 10px;
margin:0;
}
...
...
Wie kann ich den Text nun an der betreffenden Stelle auf einer beliebigen Seite direkt in den Text einfügen ?
Gruss
Martin
- Anmelden oder Registrieren um Kommentare zu schreiben

hallo martin Zitat: Ich
am 22.11.2011 - 21:25 Uhr
hallo martin
Ich möchte einen Text in einem Block, an einer bestimmte Position in den vorhandenen Text einer Seite einfügen.
verstehe ich das richtig:
du möchtest in einem fliestext einen
block ausgeben lassen?
also in
Alles beginnt mit einem Traum, der alles idealisiert und so die Sehnsucht weckt. Träume waren der Anfang all unserer großen Errungenschaften und nicht wie uns heute von vielen Führungskräften vorgespielt wird, scheinbare Fakten und kurzfristig gültige oder gar frei erfundene Zahlen.
###---hier der inhalt von einem block---##
Aus diesem Grunde wundert es mich sehr, daß viele Menschen Träume für Unsinn halten und stattdessen den scheinbaren Fakten und trügerisch genauen Zahlen trauen, obwohl uns die seit Jahren laufende Finanzkrise, von dieser Illusion befreien sollte.
das wird nicht gehen.
das einzige wäre das du den blockinhalt in den fliestext inhalt über das $render (array) einfriemelst..
aber mit den regionen geht das so nicht da das jeweils eigene unabhängige elemente sind
oder meinst du das ganz anders?
besten gruss
stef
PHP und render-Funktion
am 22.11.2011 - 23:21 Uhr
Du kannst den Text als PHP anlegen (Core-Modul aktivieren). An der entsprechenden Stelle nutzt du die passende render-Funktion, um den gewünschten Block einzufügen.
Schau mal hier: http://drupal.org/node/1034524
genau, ich möchte den block in einem fliestext ausgeben lassen
am 23.11.2011 - 00:20 Uhr
... und ich denke das hast du richtig erkannt ...
habe noch einige Dinge ausprobiert aber hat alles nicht funktioniert ...
ich probiere jetzt einfach mal das aus:
http://www.philognosie.net/index.php/tip/tipview/877/
aber nicht mehr heute ;-)
beste Gruesse zurück
Martin
PHP und render-Funktion
am 23.11.2011 - 00:25 Uhr
Hallo Nicolai,
habe ich ausprobiert, mit der von dir verlinkten Anleitung und dann mit dieser hier: http://www.werockyourweb.com/drupal-block-in-node
hat aber nichts gebracht ... - das Ergebnis war dasselbe wie beim Regionen-Versuch
wie gesagt, ich probier das jetzt mal auf diesem Weg: http://www.philognosie.net/index.php/tip/tipview/877/
Gruss
Martin
Block Filter
am 23.11.2011 - 08:43 Uhr
Hallo.
Es gibt (allerdings nur für Drupal 5) das Modul [do:block_filter Block Filter]. Damit kann man ganz einfach über eine bestimmte Syntax Blöcke in den Inhalt einfügen. Das Modul sollte sich relativ einfach nach Drupal 6 oder Drupal 7 portieren lassen.
daß mit der render-Funktion hat doch funktioniert ...
am 23.11.2011 - 22:03 Uhr
Falls es euch interessiert, daß mit der render-Funktion hat doch funktioniert und zwar so:
nachfolgenden Code in die "yaml\node.tpl.php" einfügen:
....
....
....
<?php if ($terms): ?><div class="terms"><?php print $terms ?></div>
<?php endif;?>
</div>
<?php endif; ?>
<?php $block = module_invoke('adsense_oldcode', 'block', 'view', '0'); ?>
<?php print $block['content']; ?>
<?php $block = module_invoke('adsense_managed', 'block', 'view', '0'); ?>
<?php print $block['content']; ?>
<?php $block = module_invoke('gtranslate', 'block', 'view', '0'); ?>
<?php print $block['content']; ?>
<div class="content"><?php print $content ?></div>
</div>
<?php if ($links) { print $links; } ?>
</div>
--------
Hinweis:
--------
je nachdem müssen halt die Variabel-Namen entsprechend eingesetzt werden, beispielsweise
der Block mit der ID 1
<?php $block = module_invoke('block', 'block', 'view', '1'); ?><?php print $block['content']; ?>
oder eine Adsense-Anzeige:
<?php $block = module_invoke('adsense_managed', 'block', 'view', '0'); ?><?php print $block['content']; ?>
weiterhin viel Freude mit Drupal :-)
Martin