Start arrow Programowanie arrow Szablon arrow Element HEAD
Element HEAD Drukuj Wyślij znajomemu
W elemencie head umieszczane są informacje dla przeglądarek i wyszukiwarek sieciowych oraz instrukcje włączające skrypty, arkusze stylów i inne.

Elementy sekcji head

Sekcja head dokumentu HTML zawiera o dokumencie i plikach używanych do jego wyświetlenia:

  • w znaczniku title - tytuł strony,
  • w opcjonalnym znaczniku meta - informacje usprawniające funkcjonowanie witryny w Sieci. Znacznik zawiera dwa atrybuty: http-equiv i name albo http-equiv i content; atrybut http-equiv definiuje zmienne systemowe, atrybut zmienne użytkownika:
    • <meta http-equiv="content-type" content="text/html; strona kodowa">
    • <meta name="Description" content="Zwięzły opis serwisu">
    • <meta name="Keywords" content="Słowa kluczowe">
    • <meta name="Author" content="Imię i nazwisko">
    • <meta name="Generator" content="Nazwa programu generujacego HTML">
    • <meta name="Robots" content="kombinacja: index/noindex i follow/nofollow - indeksuj, nie indeksuj, indeksuj wskazywane przez odnośniki, nie indeksuj tych ostatnich">
  • w znaczniku base href="" - definiuje bazowy adres strony, konieczne, gdy korzystamy z przyjaznych adresów
  • w znaczniku link - opisuje relacje między różnymi dokumentami w Sieci, służy m.in do dołączania arkuszy stylów i arkuszy alternatywnych, pliku ikony serwisu, pliku strony wyjaśniającego prawa autorskie.

Kod w pliku index.php

W zwykłym dokumencie HTML pożądane znaczniki trzeba wpisać ręcznie. Joomla! i Mambo natomiast potrafią wygenerować wpisy w sekcji head dzięki funkcji mosShowHead():

<head>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?> " />     
<?php mosShowHead(); ?>

Objaśnienie

Pierwsza linia rozpoczyna sekcję HEAD. Wpisujemy po prostu znacznik języka HTML.

Kodowanie znaków

Kolejna linia określa zastosowane na stronie kodowanie znaków. Zastosowana została tutaj instrukcja PHP odczytująca wartość zmiennej _ISO z aktualnie używanego pliku etykiet i komunikatów językowych i wpisująca tę wartość do atrybutu znacznika meta.

Zastosowanie instrukcji PHP zamiast wpisania strony kodowej np. ISO-8859-2, pozwala zmienić stronę kodową np. w serwisach wielojęzycznych.

Polskie witryny zwykle korzystają ze standardu ISO-8859-2, ale coraz większą popularność zdobywa sobie standard UTF-8.

Zauważ, że kodowanie znaków zostało już raz określone w prologu XML. Powtórzenia deklaracji kodowania wymaga specyfikacja XHTML tylko wówczas, gdy serwer WWW nie przesyła prawidłowych nagłówków. A że nie mamy co do tego pewności, zamieszczenie tej deklaracji jest konieczne. Zwłaszcza, że ze względu na wspominany wcześniej problem z przeglądarkami IE musimy opuścić prolog XML albo go ukryć przed IE.

Dodajmy jeszcze, że wpisana w prologu wartość ma pierwszeństwo przed wartością podaną w meta http-equiv . To dodatkowy argument, przemawiający za wpisaniem tu wartości stałej _ISO odczytanej z pliku etykiet ekranowych.

Metadane

<?php mosShowHead(); ?>

Wykorzystana w następnej linii kodu funkcja mosShowHead() jest zdefiniowana w pliku /includes/fronted.php. Cała instrukcja wczytuje do czołówki dokumentu HTML znaczniki meta: title, autor, description, keywords, generator, robots oraz odnośnik do pliku graficznego z ikoną serwisu Joomla.

Część z wpisywanych informacji pobierana jest z konfiguracji witryny. Są to nazwa serwisu, zwięzły opis, słowa kluczowe.

Część mogą stanowić informacje zmieniające się dynamicznie, zależne od publikowanych na stronie materiałów: tytuł aktualnie umieszczonego artykułu, autor.

W konfiguracji globalnej można zdecydować, czy informacje te mają być umieszczane w nagłówku strony.

W efekcie wykonania funkcji mosShowHead() otrzymamy np. taki kod w dokumencie HTML:

<title>Polskie Centrum Joomla! - Serwer pomocy - Podręcznik - szablony</title>
<meta name="title" content="Podręcznik - szablony" />
<meta name="author" content="Stefan Wajda" />
<meta name="description" content="Serwis Polskiego Centrum Joomla! 
   -  systemu CMS upowszechnianego na warunkach licencji GNU GPL. 
      Aktualności, zasoby, plikownia, forum, serwer pomocy." />
<meta name="keywords" content="Joomla, joomla, mambo, Mambo, CMS, 
   system zarządzania treścią, webdesign, komponent, moduł, dodatek, wtyczka, mambot,
   open source, Open Source" />
<meta name="Generator" content="Joomla! - Copyright (C) 2005 - 2006 Open Source Matters. 
   All rights reserved." />
<meta name="robots" content="index, follow" />
<base href="http://www.joomla.pl/pomoc/" />
<link rel="shortcut icon" href="http://www.joomla.pl/pomoc/images/favicon.ico" />

Dawniejsze rozwiązania

W starszych szablonach czołówkę dokumentu HTML wprowadzano instrukcją włączającą plik /includes/metadata.php:

<?php include ("includes/metadata.php"); ?>

Można wprawdzie nadal korzystać z tego sposobu, bowiem to plik /includes/metadata.php wywołuje funkcję mosShowHead(). Ale to rozwiązanie nie jest zalecane.

Pozostałe elementy nagłówka

O pozostałych instrukcjach generujących zawartość elementu head przeczytaj w sekcjach:

Zapoznaj się również z uwagami w sekcjach:


Uwagi, źródła

Jeżeli masz sugestie odnośnie treści lub chcesz zgłosić poprawki do tego rozdziału, skomentuj go albo umieść wiadomość na forum: Dokumentacja - Propozycje, zmiany, poprawki

Dziękujemy!

Stefan Wajda, Zespół Dokumentacji PCJ

 
« poprzedni artykuł   następny artykuł »