HTML till Drupal Tema

Artikeln finns som PDF bok här »  HTML till » Drupal 7 Tema den är mycket mer genomgående och snyggare!

Förberedelser

Idag ska vi omvandla HTML till Drupal Tema och vi kör igång på en gång, utan att hänga kvar vid en massa bakgrund, för du har ju redan bestämt dig för att lära dig hur man omvandlar en statiskt HTML till » Drupal tema som är en dynamisk PHP & JavaScript baserad CMS, så grunderna i webbutveckling som, HTML & CSS borde du kunna…

 

Utvecklingsmiljön

Som en utvecklare är det viktigt att ha en bra utvecklingsmiljö och du kan hitta en massa bra tips på Drupal.org. Vi ska installera Devel, ett mycket populärt verktyg som kan generera noder (innehåll), användare, kommentarer, termer och mycket annat snabbt och enkelt, så logga in i din Drupal installation och navigera dig till Modules och installera Devel, gå sedan tillbaka till Modules och aktivera den genom att kryssa i “ENABLED” och scrolla längst ner på sidan och spara genom att klicka på “Save configuration”.

 

“Dummy” innehåll

Vi börjar med att skapa en del dummy innehåll så att vi kan se hur sidan kommer att se ut med riktigt innehåll, så navigera dig till Configuration » Development » Generate content, här har du antagligen bara två möjligheter; Article & Basic page, och det är artiklar som ska börja med. Jag ska skapa 50st på en gång Vi skapar även ett par sidor; Portfolio, Webb, Om oss & Kontakt.

 

Verktyg

Jag kommer att använda Aptana Studio för att skapa temat eftersom den lämpar sig väl till PHP projekt och har mycket bra kodkomplettering, men Netbeans är också väldigt bra kandidat för ett PHP projekt. Den andra viktiga verktyget är webbläsaren! Min favorit är Chrome som har utvecklingsverktyg installerade som standard, men en spännande nyhet är Firefox Developer Edition som är en webbläsare dedikerad för webbutveckling

 

Skapa projektet

 

Vi börjar med att skapa en bas för temat, som består av en ny PHP-projekt och den ska vi placera under drupal/sites/all/themes för det är där som Drupal kommer att leta efter det nya temat (inte i drupal/themes som innehåller kärnteman som kommer med i installationen), themes mappen kommer inte att finnas från början så du får skapa den. Jag kommer att kalla mitt tema för cr8gr8designs efter min hemsida (cr8gr8designs.com).

 

.info

Den första filen vi ska skapa är en .info fil som ska heta samma som temat, så i mitt fall blir det cr8gr8designs.info och i den ska vi skriva in följande:

 

name = cr8gr8designs
description = En tema för Drupal 7
core = 7.x
version = 1.0
engine = phptemplate

 

Name

Name är ju rätt självförklarande, och är namnet på temat

 

Description

Description är en beskrivning av temat,

 

Version

Version är tema version vilket kan vara bra speciellt nu i utvecklingsskedet då man gärna vill se förändringar man gör (man kan också tömma cache i admin delen av Drupal)

 

Core (Drupal kompatibilitet)

Sedan har vi core som anger vilken Drupal version som temat är kombitabelt med.

 

Engine » PHPTemplate

Engine förmodas att vara PHPTemplate som standard och dess uppgift är att upptäcka tema funktioner och sidomallar för beteendet av temat.

 

Testa temat…

Nu har vi bara en fil » temanamn.info men vi kan aktivera temat nu och då kommer Drupal att generera sidan åt oss. Det ser inte så snyggt ut men det fungerar!

 

En koll på Drupals standard klasser

Som du ser gör Drupal en hel del utan att man behöver berätta hur den ska göra det. Om vi kollar på källkoden för sidan kan vi lära oss lite om hur Drupal genererar klasser till element, ta en titt på body elementet:

 

<body class="html front logged-in no-sidebars page-node admin-menu">

Som du ser kan man lätt förstå sig på hur Drupal bestämmer vilka klasser som ska adderas på element, och du kan gå igenom och titta på dom olika klasserna på resten av sidan men vi återkommer till det här senare.

 

HTML dokumentet

HTML dokumentet som vi ska omvandla till ett Drupal tema är en basic HTML5 dokument:

 

<!doctype html>
<html lang="sv-SE">
<head>
	<meta charset="UTF-8" />
	<title>Hem | cr8gr8designs.com</title>
	<meta name="author" content="Daniel Karjanlahti" />
	<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
	<header>
		<h1>cr8gr8designs.com</h1>
		<h2>Lär dig webbutveckling online den <time datetime="30-10-2014">30-10-2014</time></h2>
		<nav>
			<ul>
				<li><a href=”#”>Hem</a></li>
				<li><a href=”#”>Galleri</a></li>
				<li><a href=”#”>Portfolio</a></li>
				<li><a href=”#”>Kontakt</a></li>
			</ul>
		</nav>
	</header>
	<section>
		<header>
			<h1>Heading One</h1>
			<span></span>
		</header>
		<p></p>
	</section>
	<footer>
		<p>Skapad av <a href="mailto:mail@cr8gr8designs.com">Daniel Karjanlahti</a> den <time datetime="22-11-2014">22-11-2014</time><br /> GNU Licence 2014</p>
	</footer>
</body>	
</html>

 

Den är en basic HTML5 sida utan krusiduller, men meningen är att du ska förstå sammanhanget mellan olika delar när du bygger temat.

 

Huvudfiler

 

page.tpl.php

Page.tpl.php är huvudmallen för alla sidor och den som presenterar noder, block, kommentarer, views och andra Drupal byggstenar.

 

Innehåll i page.tpl.php

  • Små PHP snuttar som printar ut variabler:
<?php print $content ?>
  • Basic logik:
<?php if($logged_in): // om användare är inloggad... ?>
<?php endif; ?>
  • Den ska INTE anropa funktioner, för den ska användas för presaentation och innehåller nästan bara HTML med ytterst små snuttar PHP

 

Typer av .tpl.php filer

Det finns 5 basic mallar för olika delar av temat:

  • page.tpl.php » kontrollerar övergripande funktion av sidan
  • block.tpl.php » till för individuella block (byggstenar i Drupal)
  • node.tpl.php » skriver ut alla noder (artiklar osv.) och har två lägen » teaser som visar en del av innehållet och full där hela noden visas.
  • box.tpl.php » bara en omslutande div comments.tpl.php
  • comment.tpl.php » visar kommentar noder

 

Variationer av .tpl.php

Man kan också skapa helt egna varianter av t.ex. node.tpl.php:

  • node-blog.tpl.php
  • node-article.tpl.php
  • node-news.tpl.php

Sedan har en massa andra varianter också:

 

page-front.tpl.php // som då visar framsidan/hemsidan

 

Det finns en massa andra variationer som du kan titta på Drupal.org

 

Vi börjar modifiera page.tpl.php

Okej nu kan vi börja med att modifiera page.tpl.php filen så att den fungerar med Drupal. Skriv in innehållet från HTML dokumentet som jag visade innan i page.tpl.php och så tar vi och fixar till head delen. Skriv in följande mellan head taggarna:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?>"<?php print $rdf_namespaces; ?>>

 

Sedan har vi title, stilar, skript och en head hook så att man kan komma åt den från andra ställen och fråmst används den av Drupal själv för att lägga till stilar mm.

 

<title><?php print $head_title; ?></title>
<?php print $head; ?>
<?php print $styles; ?>
<?php print $scripts; ?>

 

Nu kommer Drupal att skriva titeln dynamiskt och ladda in standard stilar och skript och dom som angivits i .info filen, och du kan hitta dessa bland en massa andra:

 

<title>cr8gr8designs.com | Webbutveckling online</title>
<style type="text/css" media="all">
@import url("http://drpl7.local:8083/sites/all/themes/cr8gr8designs/css/style.css?nfg4ad");
</style>

 

 

Vi fortsätter med dynamisk innehåll

Det finns en massa variabler som man kan använda sig av och du hittar en lista med dom på Drupal.org. Vidare med h1 & h2 » sidotitel  och slogan:

 

<h1><a href="<?php print $front_page; ?>" title="<?php print t('Hem'); ?>" rel="home"><?php print $site_name; ?></a></h1>
<h2><?php print $site_slogan; ?></h2>

 

Huvudmeny

Ny är det dags för huvudmenyn som ska genereras av Drupal dynamiskt, så vi får ändra en del på koden:

 

<?php if ($main_menu): ?><!-- om menu finns... -->
<nav class="header-menu navigation">
<?php print theme('links', array('links' => $main_menu, 'attributes' => array('class' => array('menu-items'), ), 'heading' => array('text' => t('Huvudmeny'), 'level' => 'h2', 'class' => array('element-invisible'), ), )); ?>
<?php if (!$user->uid) { print '<a href="/user">Login</a>'; } ?><!-- en extra länk för inloggning -->
</nav> <!-- /.header-menu -->
<?php endif; ?>

 

Jag la till en extra länk (i svart) om man är utloggad så dyker det upp en inloggningslänk. Om du laddar om sidan nu så ska den nya menyn fungera som det ska och länka till rätt sida.

Och så har vi sökrutan som finns i en array som kan konfigureras i admin penelen och den ska få plats i header delen av sidan:

 

<?php print render($page['header']); ?>

 

Redigering, hjälp mm. av noder

När man skapar en nod (innehåll) i Drupal så visas ett meddelande om att det lyckades och så finns det flikar där man kan välja att redigera noden, och det är dom sakerna som ska in i huvudinnehållet:

 

<?php if ($page['highlighted']): ?><div id="highlighted"><?php print render($page['highlighted']); ?></div><?php endif; ?>
<?php print render($title_prefix); ?>
<?php if ($title): ?><h1 class="title" id="page-title"><?php print $title; ?></h1><?php endif; ?>
<?php print render($title_suffix); ?>
<?php if ($tabs): ?><div class="tabs"><?php print render($tabs); ?></div><?php endif; ?>
<?php print render($page['help']); ?>
<?php if ($action_links): ?><ul class="action-links"><?php print render($action_links); ?></ul><?php endif; ?>
<?php 
// här kommer själva innehållet
print render($page['content']); 
?>
<?php print $feed_icons; ?>

 

Om du nu går till en “ensam” nod, som en artikel eller sida kommer du att se tre flikar » View, Edit och Devel (om du har Devel modulen aktiverad)

 

Regions

Regions anger platser i temat som man ska kunna lägga Block med länkar, menyer mm. genom att gå till » Administration » Structure » Blocks, och regionerna skrivs in i .info filen. Drupal tillhandahåller fem standard regioner men om man ska lägga till egna kommer dom att skrivas över, så därför skriver vi i dom.

 

Regioner som finns som standard i Drupal 7:

 

regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footer

 

Du hittar en lista med standard variabler för Block inställningar på Drupal.org

Vi ska lägga till stöd för ett gäng regioner i .info filen och ett par egna specialare så att du kan göra liknande modifieringar i framtiden:

 

regions[sidebar_first] = Leftsidebar
regions[sidebar_second] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer_left] = Footer Left
regions[footer_right] = Footer Right
regions[highlighted] = Highlighted
regions[help] = Help
regions[page_top] = Page Top
regions[page_bottom] = Page Bottom

 

Vi lägger till dom där två footer regionerna i page.tpl.php mallen:

 

<?php print render($page['footer_left']); ?>
<?php print render($page['footer_right']); ?>

 

Och så dom två sidospalterna på varsin sida om huvudinnehållet (eller där du tycker att det passar att placera dom):

 

<?php if($page['sidebar_first']) { ?>
	<aside class="sidebar left">
		<?php print render($page['sidebar_first']); ?>
	</aside>
<?php } ?>

<?php if($page['sidebar_second']) { ?>
	<aside class="sidebar right">
		<?php print render($page['sidebar_second']); ?>
	</aside>
<?php } ?>

Menyer i WordPress

Att skapa menyer i WordPress kan vara rätt krångligt, och det finns ett antal sätt att skapa en, jag tänkte gå igenom ett par av mina favoriter. Vi börjar med att registrera menyer för olika platser, för du har väl tänkt på att man kan ha flera menyer i vissa teman? Så detta ska in i functions.php:!

// Registrera Menyer För Temat
add_action( 'init', 'register_my_menus' );

function register_my_menus() { 
	register_nav_menus(
		array(
			'header-menu' => __( 'Header Menu' ), 
			'sidebar-menu' => __( 'Sidebar Menu' ), 
			'footer-menu' => __( 'Footer Menu' )
		)
	);
}

 

wp_nav_menu

När du har lagt till koden på din functions.php, kommer du att märka att du kan hantera menypositioner. Du kan nu hitta dina nya menyer under:

http://din_sida/wp­-admin/nav-­menus.php

I funktionen wp_nav_menu som har 15 parametrar totalt att välja mellan, och här ser vi standard värdena för dom:

<?php
$defaults = array(
	'theme_location'  => '', /* header-menu, sidebar-menu och footer-menu */
	'menu'            => '',
	'container'       => 'nav', /* HTML-element som omgärdar listan */
	'container_class' => '', /* klass för HTML-element som omgärdar listan */
	'container_id'    => '', /* ID för HTML-element som omgärdar listan */
	'menu_class'      => 'menu',
	'menu_id'         => '',
	'echo'            => true,
	'fallback_cb'     => 'wp_page_menu',
	'before'          => '',
	'after'           => '',
	'link_before'     => '',
	'link_after'      => '',
	'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
	'depth'           => 0,
	'walker'          => ''
);
wp_nav_menu($defaults);
?>

 

Och dessa har alla en betydelse så klart:

  • $theme_location – Menyn som du vill visa (som registrerades i functions.php).
  • $menu – Kalla en meny med id, namn eller slug.
  • $container – Vad du vill omgärda ul elementet med, som t.ex. div eller nav.
  • $container_class – Klassen som läggs på $container.
  • $container_id – ID som läggs på $container.
  • $menu_class – Klassen som läggs på ul elementet i menyn.
  • $menu_id – The id to be applied to the ul element of the menu.
  • $echo – Om man ska echo menyn eller return det.
  • $fallback_cb – Om ingen meny finns, vilken fallback funktion som ska användas.
  • $before – Text innan ankar länken.
  • $after – Text efter ankar länken.
  • $link_before – Text innan länk-texten.
  • $link_after – Text efter länk-texten.
  • $depth – Hur många nivåer av meny hierarkin som ska visas.
  • $walker – Anpassad objekt.

Som tur är behöver man inte skriva in alla. För att ange vilken meny man anropar ska du använda $theme_location parametern, som syftar på det namn du registrerat i functions.php.

Till exempel, om vi använder exemplet från början (i functions.php), kan du nu lägga till följande kod till dina mallar för att visa huvudnavigering (header-menu):

// header-php
<?php wp_nav_menu(array('theme_location' => 'header-menu')); ?>

// sidebar.php
<?php wp_nav_menu(array('theme_location' => 'sidebar-menu')); ?>

// och till sist footer.php
<?php wp_nav_menu(array('theme_location' => 'footer-menu')); ?>

 

Som du ser har jag bara en parameter i funktionen, men vi kan enkelt lägga till flera, och jag tänkte att vi lägger till nav som ett omgärdande element och en klass main-menu till den:

// header.php
<?php 
wp_nav_menu(
	array(
		'theme_location' => 'header-menu',
		'container' => 'nav',
		'container_class' => 'main-menu'
	)
); 
?>

 

Klasserna ”current_page_item” & ”current-menu-item”

WordPress skapar automatisk ett antal klasser för navigationen, och om du kollar på källkoden för menyn vi precis skapade så hittar du liknande HTML-kod:

<nav class="header-menu">
	<ul id="menu-header-menu" class="menu">
		<li id="menu-item-63" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-63">
			<a href="http://localhost/wp/">Hemsida</a>
		</li>
		<li id="menu-item-60" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-60">
			<a href="http://localhost/wp/galleri">Galleri</a>
		</li>
	</ul>
</nav>

 

Som du ser blir det en massa klasser men två viktigaste är; ”current_page_item” och ”current-menu-item”, för med hjälp av dom kan vi styla menyknappen som är aktiv (sidan man är på), och ”menu-item-home” är specik för hemsidan.”menu-item” är en generell klass som kommer att skapas för varje <li> element, i alla menyer och resten är unika i installationen. Här är en lista på  standard klasser som WordPress skapar:

current_page_item 		– Stylar den aktuella sidan. 
current­-cat 			– Stylar den aktuella kategorin. 
menu­-item 			– Stylar alla andra menyalternativ. 
menu­-item­-type­-taxonomy 	– Stylar kategorilänkar. 
menu­-item­-type­-post_type 	– Stylar sidolänkar. 
menu­-item­-type­-custom 	        – Stylar anpassade objekt. 
menu­-item­-home 		        – Stylar hemsidan länken.

Man kan enkelt lägga till en egen klass för en enskild länk, genom att klicka på ”Panelinställningar” högst upp på sidan Menyer, då kommer en rullgardinsmeny att sänkas ner. Därifrån hittar du ett alternativ för att visa ”CSS Klasser” under rubriken ”Visa avancerade menyalternativ”:

Bild på "Panelinställningar" på sidan "Menyer"
”Panelinställningar” på sidan ”Menyer”

Nu kan du lägga till en klass under menyinställningar:

Bild på Admin Panelen » Menyer » CSS Klass
Admin Panelen » Menyer » CSS Klass

Exportera WordPress sida

Artikeln finns som PDF här – Exportera WordPress sida

Jag ska gå igenom en rätt avancerad metod för att manuellt exportera WordPress, och du bör ha testat att exportera med WordPress egen export funktion.

Om du har din gamla installation på en lokal dator så fungerar inte exportera funktionen inte korrekt för att den nya sidan på internet inte kan ladda ner bilder mm. från en lokal dator. Då kan man i stället exportera/importera all innehåll manuellt. Till att börja med ska du ska ha en ny, helt tom WordPress installation på målplatsen.

 

Fem steg…

Det finns fem steg i den här exporten:

  1. Installera en ny WordPress sida   » under din nya domän (skriv ner namnet på databasen du skapar för WordPress)
  2. Kopiera / ladda ner                       » tillägg, teman och uppladdningar från den gamla installationen (uppladdningar är alla mediafiler)
  3. Exportera WordPress databasen » från den gamla installationen
  4. Fixa till alla URL                            » i databasen med en textredigerare (ersätt gamla URL med nya)
  5. Importera databasen                    » till den nya installationen genom phpMyAdmin

 

Hämta tillägg, teman och uppladdningar

Du ska börja med att ladda ner/kopiera all innehåll från wp/wp-content/ (där wp står för själva WordPress installationen) från din gamla installation till din nya, d.v.s. ta dom tillägg som inte finns på den nya installationen och laddar upp dom till wp/wp-content/plugins/, sedan tar du hela mappen wp/wp-content/uploads (bilder plus andra mediafiler) och flyttar dom till wp/wp-content/ och till slut plockar du temat/teman från wp/wp-content/themes och flyttar dom till samma plats i den nya installationen.

Man kan göra flytten av filerna med en FTP klient som t.ex. FileZilla [1] eller logga in på webbplatsens kontrollpanel där du kan ladda upp filerna.

[1] Jämförelse av FTP klienter Wikipedia – http://en.wikipedia.org/wiki/Comparison_of_FTP_client_software

 

Exportera databasen

Om du går till den nya sidan och loggar in på admin-panelen och klickar på ”Media”, märker du att det inte finns några media-filer, och det beror på att WordPress inte vet om att dom finns än. För att fixa till det behöver du exportera databasen från den gamla installationen.

Nu måste du komma åt phpMyAdmin (du bör veta hur) som din gamla installationen använder, för att kunna exportera databasen. Du gör det antingen genom att starta servern (MAMP, XAMP m.fl.) och gå till http://localhost/phpMyAdmin/ eller på en MAMP, XAMP eller AMPPS server navigera dit från startsidan/menun, men om du har din sida uppe på nätet så får du logga dig in till kontrollpanelen på webbhotellet och där använda de verktyg som finns för phpMyAdmin.

När du öppnat phpMyAdmin klickar du på “Databases” och sedan väljer du databasen som tillhör den gamla installationen:

Screen-shot - välj databas i phpMyAdmin
Screen-shot: – välj databas i phpMyAdmin

Klicka nu på “Export”, och sedan för export metod väljer du “Custom – display all possible options”:

Screen-shot "custom export" i phpMyAdmin
Screen-shot: ”custom export” i phpMyAdmin

Se till att alla tabeller är valda (dom har grå bakgrund i så fall). Se nu till att “Save output to a file” är ikryssad, “Compression” är satt till “none” och att “Format” är SQL:

Screen-shot "Save output to file" i phpMyAdmin
Screen-shot: ”Save output to file” i phpMyAdmin

Nu skrollar du ner till “Object creation options” och kryssar i “Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT statement” och ser till att “Add CREATE PROCEDURE / FUNCTION / EVENT statement” inte är ikryssad:

Screen-shot "Object creation options" i phpMyAdmin
Screen-shot: ”Object creation options” i phpMyAdmin

Och klicka på “Go” längst ner, då får du SQL tabellen (fil med .sql filtillägg) som en nedladdning, skapa genast en kopia av den för du ska endast arbeta med kopian så att det alltid finns ett skyddsnät!

 

Nu ska du ta reda på den exakta adressen till den gamla installationen och ersätta med adressen till den nya, så om du har den gamla installation under:

http://localhost/wordpress

och den nya under:

http://localhost/~d/labb_cms2/wordpress/wp

 

Öppna nu SQL-filen i en textredigerare som har sök och ersätt funktion, och börja med att söka efter:

http://localhost/wordpress

och ersätta med:

http://localhost/~d/labb_cms2/wordpress/wp

(Ja, du ska självklart byta till din egen adress)

 

EFTER det söker du efter ställen där det bara står:

/wordpress

och ersätta med:

/wp

OBS! Det är viktigt att du först söker efter hela URL adressen – http://localhost/wordpress – för om du skulle söka efter – /wordpress – först skulle länkarna gå sönder och det skulle inte gå att hitta dom efter det.

 

Importera databasen

Nu ska du logga in till kontrollpanelen för din nya installation och så navigerar du till phpMyAdmin letar upp rätt databas (och exporterar den precis likadant så att du har en backup). Vi ska radera alla tabeller från den nya databasen och sedan importera den gamla. Så när du valt alla tabeller klickar du på dropdown menun “With selected:” och väljer “Drop”.

Screen-shot Radera tabeller i phpMyAdmin
Screen-shot: Radera tabeller i nya installationen

Sedan bekräftar du ditt val och då är dom borta för gott!

Nu ska du klicka på “Import” och sedan “Browse for files” och navigera dig till och välja tabellen som du fixade adresserna i för att sedan klicka på “Go”.

Om du klickar på “Structure” fliken efter importen, så ska den gamla tabellen finnas där:

 

Screen-shot phpMyAdmin tabellen under "Structure"
Screen-shot: Gamla tabellerna under ”Structure”

 

 

Uppdatera databas

När du ska logga in kommer det att stå Database Update Required så du får uppdatera databasen genom att trycka på knappen “Update WordPress database”

 

Screen-shot: "Database Update Required"
Screen-shot: ”Database Update Required”

Sedan kan du logga in som normalt. Nu bör sidan fungera och allt borde vara som det en gång var, och du har lyckats att exportera WordPress! …eller?

 

Kolla alla länkar

Till sist ska du kolla noga så att allt har blivit rätt, genom att gå igenom sidor och inlägg för att se så att alla bilder syns och alla länkar till inlägg går dit dom ska och inte till den lokala installationen. Se även till att din menu pekar rätt och var uppmärksam på att du inte hamnar på http://localhost helt plötsligt för då har du missat en länk i den importerade databasen och får kanske söka igenom den noggrant. Själv hittade jag några ”trasiga” länkar och tog hand om dom direkt i inläggen genom att redigera dom.

 

Jag hoppas att den här artikeln gav dig något och ser fram emot ditt nästa besök. Daniel K