Mám takové tušení, že to asi nepůjde.
Proč by jsi byl lepičem, to co jsem ti poslal jako ukázku můžeš použít přímo template.php. Případně si opodmínkovat zobrazení toho hamburgeru.
To znamená, že každé načtení šablony ti přidá na body třídy jaké zrovna potřebuješ. To nemá s updatem systému nic společného.
Další možností by bylo vytvořit plugin, který trvale rozšíří třídy na body. Ale zase by byl, separátně oddělený. Takže záleží co preferuješ, ale nemá to nic s přepisováním systému.
Systém má pro své stavy konstanty, např.
_notpublicsite a
_logged_in a každá jednotlivá stránka/modul má svůj stav v
$GLOBALS['_index']. Takže by asi šlo to zkombinovat a například:
if(!_logged_in && _notpublicsite) {
$GLOBALS['_index']['body_classes'][] = 'my-notpublic';
}Co je ještě v
_index najdeš tady
https://github.com/sunlight-cms/sunlight-cms/blob/master/index.php#L65
Jak přesně myslíš neveřejné stránky? Jako celkově celý web, nebo konkrétní stránka, ty mají totiž pokud je vyžadováno přihlášení na body třídu.e-unauthorized. A to druhé jsem moc nepobral...
Nemáš náhodou existující adresář mapa?
Je ten souboru uložen v UTF8 bez BOM? Není před značkou <?php nějaký znak / mezera / volný řádek? Ten zápis by jinak byl správný.
Vidím několik možných příčin.
- Jsou správně uvozovky? V řetězci vidím všude normální, pokud jsou uvnitř musejí být buď escapované \" nebo nahrazeny za jednoduché. Případně opačně, kdy jsou jednoduché zvenčí a normální uvnitř. Navíc tam jedny chybí!
return "<img src='mapa_sveta.gif' alt='mapa' width='1024' height='511'>";- Je správně cesta k obrázku? Adresa musí být uvedena relativně, např _indexroot . 'upload/mapa_sveta.gif'
return "<img src='" . _indexroot ."upload/mapa_sveta.gif' alt='mapa' width='1024' height='511'>";- Proč tam je ta čárka?
[hcm]mapa/mapa,[/hcm]
Nezlob se na mě, ale z toho prvního příspěvku rozhodně není poznat to, že by jsi rád vypisoval obsah boxu někde pomocí HCM. Vypadá to spíše na to, že se ptáš na správný zápis.
Proto je dobré řídit se tím co jsem posílal v první odpovědi. Konkrétně tedy body 1 a 2. Koule mám sice dvě, ale ani jednu křišťálovou...
No a teď k odpovědi.
Funkce _templateBoxes() má dva parametry, prvním z nich je id sloupce a druhým typ výstupu. Výstup je pro jednoduché použití v templatu nastaven na echo, to znamená přímý výpis do HTML kódu. Ty ale potřebuješ return - obsah vracet jako řetězec, který následně vypíšeš pomocí HCM.
Takže správný zápis toho HCM bude
<?php
/* --- kontrola jadra --- */
if (!defined('_core')) exit;
/* --- definice funkce modulu --- */
function _HCM_moje_box()
{
return _templateBoxes(1, true);
}A kdyby ses rozepsal o problému takto hned na začátku, tak jsi měl odpověď už 22.5 v 15:37
Promiňte, jestli vám připadne, že jsem hloupější než syn vesnického idiota a televizní rosničky. Ale nemyslím si, že by dávalo smysl číst konverzaci odspodu. Různé komunikátory/messangery taky nedávají nové zprávy nahoru. Emailová konverzace se taky řadí sestupně. Nehledě například na proměnlivost stránkování, kdy příspěvek ze strany jedna po pár příspěvcích posune na další stránku. Takže jaká specifikace Sunlightu prosím?
Jednak zde není otázka, na kterou by se dalo odpovědět. Druhak nenajde, protože boxy se jako HCM vypsat nedají.
V současné verzi systému to bohužel nejde, připravovaná verze 8.0 to již má zpracované.
zaheslování
(21.5.2020 14:06)
Nechci tě zklamat, ale ten web už dlouho nefunguje a fungovat asi nebude. Obsah na tom webu býval tak před 10 roky, dnes by šlo udělat plno věcí jinak a lépe...
Co bys přesně potřeboval?