block.tpl.php

Forums: 
Drupalversie: 

Twee vragen over dit bestand:
1.
Wat is de achtergrond van de onorthodoxe plaatsing van de php-tags. Ik heb geleerd alle php code binnen de tags <?php ........... en ............?> te plaatsen maar hier:
<?php
// $Id: block.tpl.php,v 1.3 2007/08/07 08:39:36 goba Exp $
?>
module; ?>" id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>">

<?php print $block->subject; ?>

<?php print $block->content; ?>

gebeurt iets heel anders. Waarom is dat?
2.
Hoe en waar vind ik de inhoud van het attribuut "content"?

Ik bedoelde gewoon de inhoud van het bestand block.tpl.php te kopiëren, maar dat lijkt een beetje te moeilijk voor deze editor; en een knopje dat het om code gaat zit er hier ook niet bij.

Kunnen we niet gewoon het forum van bijvoorbeeld Joomla of FlashFocus gebruiken, dat werkt wel wat plezieriger.

1) Ja, wat is je punt?
2) Leer objecten in PHP te gebruiken.
3) Nee. Dit is Drupal, dus we gebruiken Drupal. Daarnaast, wat zijn je concrete bezwaren?

Wat m'n concrete bezwaar is zou wel duidelijk moeten zijn, wanneer je begrijpt dat jij zelfs niet mijn eerste vraag kunt begijpen.

Je reactie motiveert mensen niet bepaald om je te helpen, weet je dat? Het gaat op dit forum om vrijwillige bijdrages en goodwill. Het is handig dat te beseffen voordat je iets post. Mensen gaan hun kostbare tijd niet besteden aan anderen die niet gemotiveerd en netjes lijken.

Je post vier snippets PHP, waarvan de PHP tags allemaal hetzelfde zijn, terwijl je opmerking juist over het verschil in gebruik van die tags gaat. Dan is het niet erg raar dat iemand niet snapt wat je bedoelt. Leg dus aub nogmaals uit wat precies je vraag is en doe dit zo concreet mogelijk. Misschien is er iets mis gegaan met het invoeren van de code, omdat jij het over verschillen hebt, terwijl die niet zichtbaar zijn.

Als laatste: concrete bezwaren? Welke? Gebrek aan functionaliteit? Onduidelijke functionaliteit? PEBKAC?

Beste PageMaker,

Hierbij een kleine opfris cursus PHP voor beginners (in wel 5 stappen)...

1. De PHP-tags zijn er voor om aan te geven dat er een PHP-code moet worden uitgevoerd, dat deze code alleen uit commentaar, functies of classes bestaat is niet van belang, zolang het maar voldoet aan de PHP-syntax eisen
2. Het commentaar wat in jouw opgegeven PHP-code staat, geeft alleen maar aan wanneer het betreffende bestand voor het laatst is gepubliceerd
3. De functie 'print' is voor beginnende php'ers ongeveer hetzelfde als 'echo'
4. wanneer je na een PHP-variabel een pijltje -> tegenkomt dan hebben we het over objecten, ook wel Object Georiënteerd Programmeren (eng. OOP)
a. De eerste variabel verwijst naar een object
b. De 2de variabel na het pijltje verwijst naar een object/methode uit het voorgaande object.
5. Zoals je handen wast nadat je naar de wc bent geweest. Sluit je elke regel met uit te voeren codes netjes af met een ;

Codeer ze!

Tessa, Dank voor de reactie, maar daar ging het me niet om.

Xano, Je zegt: "Misschien is er iets mis gegaan met het invoeren van de code"; en daar gaat het verhaal ten dele over. Ik deed een poging de volgende code te posten:

<?php
// $Id: block.tpl.php,v 1.3 2007/08/07 08:39:36 goba Exp $
?>
  <div class="block block-<?php print $block->module; ?>" id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>">
    <h2 class="title"><?php print $block->subject; ?></h2>
    <div class="content"><?php print $block->content; ?></div>
 </div>

Maar daar zag ik vrijwel niets van terug; en inmiddels heb ik bijgeleerd hoe dat dan wel moet.

Mijn vragen zijn:

1.

Waarom staat die div NA het afsluiten van de PHP-code?

2.

Waar vind ik de inhoud van $block->content?

 En het geven van een net is vaak beter dan het geven van vissen; Hoe kan ik dat in het vervolg zelf uitvinden?

Een div is gewoon HTML. Die hoeft helemaal niet binnen PHP-tags te staan. Ik had al antwoord gegeven op je vraag over $block->content: leer werken met PHP objects. Dit is redelijk basic en er is genoeg informatie over te vinden, dus het moet je niet al te veel tijd kosten.

Succes!

PS: Altijd je post even nalezen als je hem gepost hebt. Er bleek dus inderdaad iets verkeerd gegaan te zijn ;-)

Wat ook wil helpen, is als je het probleem meer algemeen beschrijft. Dus niet welke stappen jij precies wilt gaan doen (en mogelijk niet het resultaat geven), maar je uiteindelijke doel.

Dus vertel ons wáárom je die content uit de blok ergens anders wilt hebben. Probeer je bijvoorbeeld de uiteindelijke HTML te veranderen? Wil een kleurtje aanpassen? een woord (niet) tonen? enzovoort!

Er zijn namelijk altijd heel veel routes om een resultaat te bereiken. En vele zijn door de ervaren mensen in dit forum al vaak bewandeld: Zij weten vaak precies of wat jij probeert überhaupt de goede meethode is, of dat het veel mooier, makkelijker of netter op een heel andere manier kan!

Leest ook http://catb.org/~esr/faqs/smart-questions.html#goal voor achtergrond en beargumentatie over mijn bovenstaande paragrafen.

--
Bèr Kessels: http://webschuur.com | bler.webschuur.com
Drupal trainingen: http://wizzlern.nl

<quote>

Dus vertel ons wáárom je die content uit de blok ergens anders wilt hebben. Probeer je bijvoorbeeld de uiteindelijke HTML te veranderen? Wil een kleurtje aanpassen? een woord (niet) tonen? enzovoort!

</quote>

Ik wil - in dit geval - de inhoud van $block->content kunnen zien zoals Drupal dat genereert.  De bedoeling is om zowel op de HTML structuur als op de opmaak van de inhoud te kunnen ingrijpen.

Ik heb inmiddels best al wel veel gelezen over theming, maar wat me ontbreekt is een vertrekpunt; hoe ziet het door Drupal gegenereerde product eruit.

Dat Drupal de door mij gezochte inhoud in een object stopt - in dit geval $block - is wel duidelijk, maar waar kan ik nu de niet bewerkte inhoud van $block->content terugvinden?

Dan moet je gaan uitvogelen via hook_block() implementations (hooks leren als je dit nog niet kent) hoe de content van dat betreffende block gegenereerd wordt en aan de hand van wat je dan vind kan je wel of niet de inhoud van het block aanpassen.

Dank je, dat brengt me alweer een stapje dichterbij.

En dat doet een belletje rinkelen want daar is een hulpmiddel voor, zie: http://blip.tv/file/596429

Even kijken hoe dat werkt.

Actuele inhoud

10 feb 2012

09 feb 2012

08 feb 2012

07 feb 2012