Du er ikke logget ind: Log ind eller opret profil
 
Newbie
 

Newbie

UTF-8 kontra andre character encodings i Drupal 6.x

Problemstilling: 

Drupal 6.x benytter UTF-8 som character encoding, og det er stort set umuligt at ændre på. Men heldigvis findes der heller ikke mange fornuftige grunde til at ændre på dette. UTF-8 er en unicode encoding som kan indeholde data fra ethvert sprog - også danske tegn som æ, ø og å.

Har du alligevel problemer med, at dine æ'er, ø'er og å'er viser sig som mærkelige tegn i output-koden (koden som vises når du i browseren vælger "vis kode") kan du tjekke følgende:

Løsning: 
  1. Henter du data fra et tekstdokument? I så fald skal du sikre dig at tekstdokumentet er gemt i UTF-8 og ikke i ANSI, som er default i f.eks. Nodepad.
  2. Har du alt-tekster i dine template-filer (eksempelvis page.tpl.php) som indeholder bogstaverne æ, ø og/eller å? I så fald bør du åbne en webeditor som f.eks. Adobe Dreamweaver i design-view. Her skal du markere billedet, som skal have tilknyttet alt-teksten, og indtaste teksten i det dertil hørende tekstfelt. Går du bagefter ind i koderne vil du se at Dreamweaver har ændret alle forekomster i alt-teksterne til såkaldte entiteter.
  3. Jeg har et par gange konstateret problemer med ikke-synlige mellemrum, som har sneget sig ind i kildekoden, og som har medført mærkelige tegn i output-koden. Hjælper intet af det ovennævnte kan det derfor være forsøget værd, at "strippe" template-filerne (typisk page.tpl.php) for disse ikke-synlige mellemrum. 
Afprøvet i version: 
6.x

Manglende skriverettigheder til sites/all/default

Problemstilling: 

Ved installation af modulet CiviCRM oplevede jeg vanskeligheder under installationen, idet modulet ikke kunne opnå de fornødne skriverettigheder til mappen sites/all/default.

Løsning: 

Problemet kunne ikke umiddelbart løses via Windows men derimod i DOS-prompten hvor følgende kommando tildeler de nødvendige rettigheder:

cd C:\appserv\www\sitename\sites\

attrib -r default /s /d

Miljø: Windows XP, Drupal 6.10, CiviCRM 2.1.4

Afprøvet i version: 
6.x

Vil du være en fast del af gruppen bag drupal.dk?

Vi mangler skribenter og én eller flere redaktører og moderatorer. Derudover mangler vi hjælp til at besvare forum-indlæg. 

Komplet oversigt over alle template variabler i Drupal 6

Når Drupal installeres, medfølger et antal templates (filerne der ender med .tpl.php). Installeres der derefter tredjeparts-moduler medfølger der sandsynligvis yderligere templates. Hvor i webstedets fil-struktur de enkelte templates placeres, afhænger af, hvilket theme der benyttes, og hvilke moduler der installeres.

DrupalCon i København d. 23.-27. august

Den årlige DrupalCon Europe skal i 2010 afholdes i Bella Centeret i København.

DrupalCon er en konference for Drupal brugere, udviklere og designere.

DrupalCon afholdes to gange årligt: én gang i Nordamerika omkring foråret og én gang i Europa, sidst på sommeren eller tidligt i efteråret.

Drupal som webshop

Drupal i sig selv har ikke meget webshop funktionalitet. Men da Drupal som bekendt er et modulært system, kan Drupal naturligvis udvides med moduler, der kan tilføje webshop-funktionaliteter. Dermed kan en Drupal løsning faktisk blive til en yderst seriøs webshop.

Understøt salget af Drupal-løsninger med en brochure

Hvis dit firma sælger Drupal-løsninger, har I nu muligheden for at understøtte salget med en flot 8-siders brochure om Drupal.

På brochurens bagside har vi lavet plads til jeres firma-stempel.

Skeptisk IT-direktør er nu Drupal’s varmeste fortaler

Det var umuligt for IT-direktør Torben Lundberg at undgå at lægge mærke til den iver og entusiasme, som  udviklerne udviste i deres argumenter, og trods fortsat skepsis udfordrede han udviklerne.

Drupal vinder awarden "Hall of Fame"

Det er netop blevet offentliggjort, at Drupal i dag har vundet den prestigefyldte award "Hall of Fame" i konkurrencen "2009 Open Source CMS Awards", som afholdes af det anerkendte IT-bogforlag Packt Publishing. Nummer 2 i konkurrencen blev Joomla!

Drupal vandt også i kategorien "bedste Open Source PHP CMS", hvor Joomla! og Wordpress blev henholdsvis nummer 2 og nummer 3.

Udvid dine muligheder med template filer

Problemstilling: 

Du står lige og mangler nogle mere specifikke .tpl filer til din theming

Løsning: 

Ved at gøre brug at et par preprocess funktioner i dit themes templat.php kan du udvide udvalget af tpl filer som Drupal leder efter.

Start med at åbne din template.php og kopier følgende kode ind i filen:

function phptemplate_preprocess_page(&$vars){
    //the path module is required and must be activated
    if(module_exists('path')){
    	//gets the "clean" URL of the current page
	    $alias = drupal_get_path_alias($_GET['q']);
	    $suggestions = array();
	    $template_filename = 'page';
	    foreach(explode('/', $alias) as $path_part)
	    {
	    $template_filename = $template_filename.'-'.$path_part;
	    $suggestions[] = $template_filename;
	    }
	    $vars['template_files'] = $suggestions;
    }
}
     
function phptemplate_preprocess_node(&$vars){
    //default template suggestions for all nodes
    $vars['template_files'] = array();
    $vars['template_files'][] = 'node';
    //individual node being displayed
    if($vars['page']){
	    $vars['template_files'][] = 'node-page';
	    $vars['template_files'][] = 'node-'.$vars['node']->type.'-page';
	    $vars['template_files'][] = 'node-'.$vars['node']->nid.'-page';
    }
    //multiple nodes being displayed on one page in either teaser
    //or full view
    else{
    	//template suggestions for nodes in general
	    $vars['template_files'][] = 'node-'.$vars['node']->type;
	    $vars['template_files'][] = 'node-'.$vars['node']->nid;
	    //template suggestions for nodes in teaser view
	    //more granular control
	    if($vars['teaser']){
		    $vars['template_files'][] = 'node-'.$vars['node']->type.'-teaser';
		    $vars['template_files'][] = 'node-'.$vars['node']->nid.'-teaser';
	    }
    }
}

function phptemplate_preprocess_block(&$vars){
    //the "cleaned-up" block title to be used for suggestion file name
    $subject = str_replace(" ", "-", strtolower($vars['block']->subject));
    $vars['template_files'] = array('block', 'block-'.$vars['block']->delta, 'block-'.$subject);
}

Hvis du leger i et subtheme er chancen at phptemplate_preprocess allerede er i brug, så omdøber du den blot til mit-theme-navn_preprocess_foobar

Det er vigtigt at du husker at tømme din cache ellers fanger Drupal ikke de nye skabeloner eller theming funktioner.

 

  • Du finder clear knappe i bunden under "Administer -> Site configuration -> Performance"
  • Du kan kalde drupal_rebuild_theme_registry(). (Tip: placer dette i toppen af din template.php fil mens du udvikler, det er vigtigt du fjerne det igen når sitet går live)

 

Ved at indsætte følgende i bunden af de enkelte preprocess funktioner kan du få vist hvilke tpl filer drupal leder efter:

echo '<pre>';
print_r($vars['template_files']);
echo '</pre>';

 

Håber ovenstående kan bruges til noget

Afprøvet i version: 
6.x