Zdroj: https://wall.cz/nastenka/hcm-modul-archiv • Vydáno: 21.12.2009 20:40 • Autor: admin
HCM modul Archiv
Redakční systém Sunlight-CMS lze libovolně rozšiřovat vlastními HCM moduly. Vzhledem k tomu, že redakční systém neobsahuje archiv článků formou souhrnů let a měsíců, napsal jsem jednoduchý 'sklapovací' archiv článků, který se zobrazuje v boxu.
Jak jsem uvedl, archiv zobrazí všechny články z vybraných kategorií formou souhrnu po letech, měsících a v závorce je uvedeno kolik obsahuje článků. Parametrem lze nastavit jaké kategorie chcete zobrazit a jak se má výpis chovat. Instalace modulu:
1. Uložení souborů
Stáhněte si archiv s modulem a uložte soubory.
- archiv-arts.php - generuje výpis z archivu vybraného měsíce/roku do sloupce s hlavním obsahem. Soubor uložte do složky require
- archiv.php - vlastní HCM modul. Uložit do složky require/custom_hcm.
- toggle.js - javascript pro obsluhu 'sklapování'. Soubor uložte k vašim ostatním '*.js' souborům.
- index.php - hlavní index soubor z rootu. Viz. bod 2.
- obrázky - obrázky uložte do složky images vašeho template.
2. Úprava souboru index.php
Otevřete soubor index.php a přidejte další položku do switche za poslední položku case "topic":
//archiv
case "arch":
define('_indexOutput_url', "index.php?m=arch");
require(_indexroot."require/archiv-arts.php");
define('_indexOutput_content', $output);
define('_indexOutput_title', 'Archiv');
break;
Pokud by tato úprava byla pro někoho složitá, tak jsem upravený soubor index.php přiložil do balíčku se skripty.
3. Úprava souboru toggle.js
Otevřete soubor toggle.js a zadejte do proměnné imgContract a imgExpand (proměnné jsou na prvních dvou řádcích) vaší cestu k obrázkům. Jedná se o zadání vaší složky s template.
4. Nastavení stylů.
V HCM modulu je také potřeba nastavit CSS styl. Nastavení stylů proveďte v souboru system.css přidáním níže uvedeného doporučeného nastavení. Dejte si pozor na kolize s vaším template. Nejdříve se podívejte, jak se zobrazí modul bez nastavení stylů a postupně podle potřeby a doporučeného nastavení stylu dolaďte. Modul obsahuje identifikátor a třídy:
- #nav - tag UL. Obal celého archivu.
- .expandable - tag LI. Sklapování roku a měsíce.
- .artlink - tag LI. Odkaz na článek.
Příklad nastavení stylů:
/* archiv */
#nav, #nav ul{
list-style: none;
margin-left: 20px;
}
#nav ul{
padding-top:.5em;
}
#nav li{
padding-left:17px;
background: url('../images/arrow.gif') left top no-repeat;
padding-bottom:.45em;
}
#nav .expandable{
padding-left: 0px;
background-image: none;
}
#nav .expandable img{
margin-right: 5px;
}
5. Spuštění
Vytvořte si nový "Box" a nazvěte ho například "Archiv". Do boxu vložte HCM modul. Příklad zadání pro zobrazení vlastního HCM modulu:
[hcm]custom,archiv,1-2-4,1,upload/js/toggle.js;[/hcm]
Parametry:
- 1. ID kategorie. Více kategorií je odděleno pomlčkou.
- 2. Typ zobrazení: 0 - rok, měsíce; 1 - rok, měsíce a seznam článků.
- 3. Cesta k JavaScriptu: upload/js/toggle.js
Ukázka typu zobrazení:
6. Popis archivu a obsluha.
- Při načtení stránky modul načte z databáze články a podle data vytvoření vytvoří souhrny po letech a měsících.
- Defaultně zobrazí otevřený aktuální rok a měsíc. V případě, že máte nastavené zobrazení i článků, vypíše seznam všech článků.
- Sklapování se ovládá kliknutím na obrázek + a -.
- Po kliknutí na rok nebo měsíc se v hlavním sloupci vypíší všechny články za uvedené období.
- Po kliknutí na článek budete přesměrováni na daný článek.
- Pokud někomu nevyhovuje definování odkazu na JavaScript uprostřed stránky, může vložit odkaz úpravou souboru functions.php a funkce _templateHead.
HCM modul je pro verzi 7.4.2 a 7.4.1, takže vám určitě poběží i na verzi 7.4.0. Na starších verzích jsem nezkoušel. Všechny soubory jsou ke stažení: Nejste přihlášen(a).