Under gårdagen gick vi igenom lite förändringar inom theming i Drupal 7. Här kommer några av de punkter vi uppmärksammade under dagen.
- Dessa hooks finns tillgängliga i temaninvå för att förändra innehåll
Block har fått tydligare CSS id:n. block-user-0 har t.ex. nu fått det mer tydliga namnet block-user-login
primary_links och secondary_links har bytt namn till main_menu och secondary_menu.
CSS-klassen “clear-block” som tidigare kunde blandas ihop drupals block heter nu istället “clearfix”.
I Drupal 7 finns nu en region som heter “content”. I denna ligger som standard “Main page content”. Nu kan man alltså lägga block man tidigare lagt i content_top eller content_bottom under eller över “Main page content” i regionen content.
$closure har bytt namn till page_bottom och page_top. Regioner kan vara dolda i regionöversikten (detta ställs in i temats info fil). T.ex: regions[some_block] = Some block regions_hidden[] = some_block
render() och hide(), show() har tillkomit. Man kan skriva ut delar av $content och även dölja delar av $content. T.ex. kan man printa ut $content utan kommentarer och länkar så här
hide($content[‘comments’]); hide($content[‘links’]); print render($content); och efter detta skriva ut bara länkarna ur $content så här:
<?php print render($content['links']); ?>RDFa stöd finns inbyggt i Drupal 7. HTML-taggar kan ha egenskaper som beskriver vad för innehåll det är. RDF är även något som Google anammar vid indexering av sajter http://rdfa.info/2009/05/12/google-announces-support-for-rdfa/ . T.ex. spottas detta ut då en kommentar lagts in:
<div class="comment comment-by-node-author comment-by-viewer odd" about="/?q=comment/2#comment-2" typeof="sioc:Post"> <div class="clearfix"> <span class="submitted"><span property="dc:date dc:created" content="2010-01-12T16:47:00+01:00" datatype="xsd:dateTime">Tue, 01/12/2010 - 16:47</span> — <span rel="sioc:has_creator"><a href="/?q=user/1" title="View user profile." class="username" about="/?q=user/1" typeof="sioc:User" property="foaf:name">admin</a></span></span> <h3 property="dc:title" datatype=""><a href="/?q=comment/2#comment-2">En första kommentar</a></h3> <div class="content" property="content:encoded"> <span rel="sioc:reply_of" resource="/?q=node/6" class="rdf-meta"></span><p>Detta är den första kommentaren på denna sajt!</p> </div> </div>$footer_message och $mission är numera ett minne blott. Nu lägger man själv in block för detta i passande regioner. Sajter som uppgraderas ska få möjlighet att migrera till block.
Det finns nu stöd i alla teman att lägga till klasser på olika noder etc. Detta fanns tidgare stöd för i Zen. Ett exempel:
<?phpfunction mytheme_preprocess_node(&$vars) { // Add a striping class. $vars['classes_array'][] = 'node-' . $vars['zebra'];}?>funktioner i stil med phptemplate_ har utgått och måste istället påbörjas med temanamnet.
Style.css och script.js måste nu inkluderas i temats .info-fil.
Variabeln och css-klassen $picture heter numera $user_picture
Två systemklaser har tillkommit .element-hidden och .element-invisible. Element-hidden kan användas då ett element inte ska visas direkt utan kanske tas fram efter en knapptryckning. När man gör en meny är det bra att inleda elementet med en kort titel som beskriver vad menyn innehåller. Element-invisible gömmer en sådan titel men gör den läsbar för användare som ställt in att de vill se den för att öka tillgängligheten.
PHPtemplate tillåter numera ett wilcard i filnamnet. T.ex. kan en .tpl.php fil heta page-user-%.tpl.php där % är ett heltal.
$search_box är borta från temat och ligger nu i block istället.









Kommentarer
Skriv ny kommentar