Příspěvky uživatele Jirka Daněk

Ale jak říká Shira, čistě to v tuto chvíli nejde 😞
function _showIP($ip, $repl = 'x')
{
if (_loginright_group == 1) return $ip; // hlavni administratori vidi vzdy puvodni IP
return (_loginright_level < 1000) ? "" : substr($ip, 0, strrpos($ip, '.') + 1) . $repl;
}
Jestli to chápu správně pak místo tohoto
Autor: Jirka Daněk • Vydáno: 24.5.2016 1:10 • Přečteno: 432xpotřebuješ jen toto
Vydáno: 24.5.2016 1:10O vykreslení článků se stará funkce _articlePreview(), kterou by šlo ovlivnit pomocí pluginu, ale to potom změní výpis informací všude, jak v HCM tak i v kategoriích. Takže otázkou je, zda to tak chceš.

Druhou možností by bylo vytvoření vlastního HCM, které tyto informace bude vypisovat přesně jak je potřebuješ.
Tyto chyby znamenají, že se nepovedlo načíst nastavení z administrace. Zkontroluj zda v cestě /plugins/common/memberpanel jsou přítomny soubory: actions.php, config.php, info.php
V souboru config.php jsou tyto klíče uvedeny, a ve tvém případě je memberpanel z nějakého důvodu nenačetl.

A doporučuji na uvedené adrese aktualizovat systém na nejnovější verzi 7.5.5
Omlouvám se, zapomněl jsem to opodmínkovat pouze na registrační formulář. Opraveno výše.
Nejrychlejší to bude asi použitím extendu
_extend('reg', 'sys.form.output', function ($args) {
if ($args['name'] === 'regform') {
$args['cells'][4][1] = "<input type='checkbox' name='massemail' value='1' /> " . $GLOBALS['_lang']['mod.settings.massemail.label'];
}
});
Shira do systému dává jen to co je nezbytné a využije to většina. Takže toto by se mělo řešit jedině jako plugin, ale mě přijde pro většinu potřeb HCM dostačující. A nemyslím si, že by to bylo špatně zdokumentované http://sunlight.shira.cz/dokumentace/hcm#m6

Každopádně pokud máš nápady na zajímavá rozšíření, mohu ti pomoci (kooperovat) s jejich realizací. Ale to spíše do vzkazů, neboť by se to tu mohlo zvrhnout 😁
Trochu nechápu jak to myslíš s tím kontakt listem... Myslíš kontakt jako systemový modul (index.php?m=kontakt)?

Patička webu závisí na šabloně, ale není problém tam použít PHP, takže vypisovat rok není problém
<?php echo date("Y", time()); ?>
@Marty9xxxx Snažím se ve svém volném čase pomoci každému, jak to jen jde, ale nemohu někoho učit od píky, na to nemám čas. Jako perličku uvedu, že za designéra se například vůbec nepovažuji, grafické nadání kolem mě proběhlo a řvalo: "Uhni!" 😁 proto dělám raději "funkční" PHP doplňky systému, ale i pro ně je potřeba umět HTML a CSS kromě jiného... Prostě je to základ, který se nedá přeskočit.

@Tomas.V Na tvé požadavky máš odpovědi v tomto celém tématu.
1. Jak opakovat obrázek jen v hlavičce jsem ti popsal hned v prvním příspěvku, "A u toho obrázku by asi stačilo přehodit background z body na #header"
2. Vložit logo je taky primitivní zásah a pozicování... "A nebylo by mnohem jednodušší obalit to divem a pak jen upravit odsazení"
Že se to týká názvu webu? To je jedno, obalíš a dostyluješ o tom je celé CSS.

Chce to jen číst, experimentovat a projevit trochu iniciativy. Nemůžeš očekávat, že tě někdo povede za ruku.

Je to možné provést ? Řeším to už druhý den, mám celý web hotový ale na tomto jsem se zastavil.
Tohle mě opravdu pobavilo, jestliže máš "celý web hotový" tak jak ses mohl zaseknout na hlavičce? V šablonách je plno i složitějších věci k nastylování. Měl by jsi zvládnout primitivní zásahy jako pozicování a obtékání. Čekal bych spíš popis: "Snažím se upravit hlavičku, zbytek šablony mi vyhovuje a nepotřebuje změny"

Ale nechci psát jen jedovatý komentář.
Tento web https://www.jakpsatweb.cz/ je dobrým zdrojem pro začátečníky i já tam před devatenácti roky začínal. To to letí. 😞 Další inspirací a učební pomůckou by ti mohly být zdejší základní motivy http://sunlight.shira.cz/ke-stazeni/motivy, kde například Redworld se asi bude podobat tomu co požaduješ. Vím, že motivů je zde málo, ale je to tím, že skoro na každý web se dělá specifický motiv, jinak by byli jako přes kopírák.

Nevím co používáš za prohlížeč, ale Firefox i Chrome mají "Vývojářskou konzoli" (klávesa F12), případně klikneš na prvek pravým tlačítkem a zvolí Prozkoumat z kontextového menu. Tam se dají dělat přímé zásahy a cokoliv změníš se ihned projeví na tom co vidíš, takže nemusíš dělat zásahy v CSS naslepo. A pak jen tyto změny a úpravy přepíšeš do své šablony. Pokud nevíš jak to použít, jsou i videa na YT, stačí hledat např. Chrome Devtool
#header h3 {
padding: 10px 0 0 10px;
font-size: 11px;
font-weight: normal;
margin-top: 70px;
margin-left: -175px; // tohle je tu proč?
}
A ten obrázek tam takhle prásknout nemůžeš, ten původní měl rozměry 1x160px a touto vlastností background: #FFFFFF url(../images/img1.gif) repeat-x;se opakoval vodorovně a vyplňoval celou plochu. Takže když tam dáš obrázek celý tak to nemůže fungovat.

Nebylo by lepší, místo takového velkého obrázku vyplnit DIV barvou a napozicovat si to logo? Protože na telefonu se platí za každý kB, takže proč natahovat zbytečnosti.

Už jsem to psal i v jiném tématu, tohle nemá nic společného přímo se systémem Sunlight. Toto jsou základy HTML a CSS, které je třeba si doplnit.
A nebylo by mnohem jednodušší obalit to divem a pak jen upravit odsazení, než to tady honit z plusu do mínusu a přebíjet padding marginem?

<div id="header">
    <div class="sitename">
        <h2><a href="./"><?php echo _title ?></a></h2>
        <h3><?php echo _description ?></h3>
    </div>
<?php _templateUserMenu() ?>
</div>
Do CSS přidat novou třídu sitename
.sitename {
    float: left;
}
a upravit odsazení u nadpisů
#header h2 {
    float: left;
    padding: 40px 0 0 10px;
    font-size: 33px;
    font-weight: bold;
}

#header h3 {
    float: left;
    padding: 10px 0 0 10px;
    font-size: 11px;
    font-weight: normal;
}
img

A u toho obrázku by asi stačilo přehodit background z body na #header
body {
    margin: 0;
    padding: 0;
    background: #FFFFFF url(../images/img1.gif) repeat-x;
    text-align: justify;
    font-family: "Trebuchet MS",Arial,Helvetica,sans-serif;
    font-size: 11px;
    color: #4E4E4E;
}

#header {
    width: 892px;
    height: 160px;
    margin: 0 auto;
    background: #FFFFFF url(../images/img1.gif) repeat-x;
}

Na mobilních zařízeních je jakýsi problém s opakováním obrázků. To není chyba u tebe 😄, ale mohlo by pomoci přidání <meta name="viewport" content="width=device-width, initial-scale=1">
O smajlících se dočteš zde: http://sunlight.shira.cz/dokumentace/motivy a jejich počet si můžeš nastavit v souboru config.php v šabloně.
define('_template_smileys', 10);
Chtělo by to zvládnout alespoň základy...
https://www.jakpsatweb.cz/css/css-kaskadovani.html

A důležité k !important
Dá se nastavit, aby vlastnost nebyla později přepsána.
Dělá se to klauzulí !important za zápisem CSS vlastnosti.
Při používání !important je nutné být opatrný, protože když se na to zapomene,
tak se pak děsně blbě ladí dlouhé stylopisy.
A proč není v zmíněný plugin v sekci Ke stažení je jednoduché, nemohu jen tak publikovat pluginy za někoho jiného. Všechny je udržuji sice funkční pro aktuální verzi, ale nemohu si přivlastňovat cizí práci. A v době kdy u petva plugin vznikl, ještě nebyla možnost zde pluginy publikovat. Tak proto zde není.
1. Important tam samozřejmě nepatří, vím co to způsobuje. Je to tím, že platná je vždy až poslední CSS vlastnost a registrací do tpl.head.meta jsem to registroval, před styly šablony. Takže je potřeba to změnit na tpl.head, opravím to v předchozích příspěvcích ať to pak nikoho nemate.

2. Je dobré pak zvýšit číslo cache v administraci a tím si vynutit znovu načtení stylů.

3. Není to chyba, je to jen to, že kopíruješ slepě vše, smaž z toho pluginu celou tuto část
/**
* [TEST PLUGIN] Ukazkova funkce
* @param array $args
*/
function _plugin_test_udalost($args)
{

$args['output'] .= '<p>Výstup ukázkové funkce při události <code>tpl.content.before</code>';

}

/* ---- registrace pluginu ---- */

_extend('reg', 'tpl.content.before', '_plugin_test_udalost');
4. "Ale zase to nenačítá ten obrázek z ../images/img2.gif tak bude asi nutné změnit cestu.
Změnil jsem jí na /plugins/templates/default/images/img2.gif jinak mi ten obrázek nenačítal."

Samozřejmě, je to úplně jinde než šablona, takže nelze použít relativní cestu
Ještě jsem si vzpomněl, že dynamické načítání souborů se styly měl na svém webu petvo
http://wall.cz/nastenka/extend-plugin-head-hcm-pro-sunlight-cms. Nevím ovšem, zda je funkční na aktuální verzi systému, je to plugin starý asi 6 let. Případně můžeš zkusit mou funkční (ověřeno) upravenou verzi http://upload.jdanek.eu/files/slcms/extends/head_hcm_edited.zip
Zkusím odpovědět na všechno, co jsi zmínil. 🙂
V původním dotazu byl požadavek "Aniž bych musel zasahovat do šablony.", předpokládám tedy, že chceš stylovat prvky aniž by jsi upravoval existující šablonu. Takže zbývá jediná možnost a to externí styly pomocí pluginu. Mohl jsem místo kompletního kódu také odepsat jen "Ano lze pluginem". Právě protože zde jsou i začátečníci, tak většinou odpovídám i s funkčním kódem, ale musíš projevit trochu iniciativy a nejen slepě kopírovat kusy kódu.

Je samozřejmé, že upravuješ, přejmenováváš a přidáváš třídy do šablony, k tomu tam jsou soubory system.css a layout.css, které slouží k doladění šablony pro tvou potřebu. Pak jsou prvky, které přidávají různé pluginy a je nesmysl nutit admina kopírovat styly do šablony a proto je tu možnost jakou jsem popsal v předchozím příspěvku.

Napsat plugin, který to umožní není problém, ale jednodušší by to stejně nebylo, protože stejně styly musíš ukládat do souboru a tím jak bude kynout bude se načítání protahovat. Jakákoliv úprava šablony, pak znamená měnit styly na dvou místech. Pro optimalizaci načítání by se dalo sice minifikovat tento soubor, ale zase to je pak needitovatelný, takže to postrádá tebou zmíněnou výhodu. Minifikovat "on the fly" je zase zbytečný krok navíc, kanón na vrabce.

"Tam jde o to, že když přepisuju ty styly a následně příjde třeba nová aktualizace tak to přepíše vše co jsem tam upravil."
Aktualizace čeho? Systému? Málokdy dělá změny v CSS a určitě ne v šablonách.

A teď k tomu poslednímu bodu. Vezmeme to podle návodu...
1. Vytvoříš si ve složce plugins/extend/ například složku mojestyly a v ní soubor mojestyly.php.

2. Do něj nakopíruješ
<?php

/* ---- kontrola jadra ---- */
if (!defined('_core')) die;

/* ---- funkce pluginu ---- */

/**
* [TEST PLUGIN] Ukazkova funkce
* @param array $args
*/
function _plugin_test_udalost($args)
{

$args['output'] .= '<p>Výstup ukázkové funkce při události <code>tpl.content.before</code>';

}

/* ---- registrace pluginu ---- */

_extend('reg', 'tpl.content.before', '_plugin_test_udalost');
ze struktury toho samplu vidíš podobnost s tím co jsem psal já a tak to tam nakopíruješ.
<?php

/* ---- kontrola jadra ---- */
if (!defined('_core')) die;

/* ---- funkce pluginu ---- */
_extend('reg','tpl.head', function ($args) {
$args['output'] .= "\n<link rel='stylesheet' type='text/css' href='" . _indexroot . "plugins/extend/mojestyly/style.css'>";
});

3. Soubor uložíš s kódováním UTF-8
4. Vytvoříš soubor style.css, který bude následně obsahovat tvé CSS
5. Pokud tu složku pojmenuješ místo mojestyly takto web.mojestyly, tak se ti budou tyto styly načítat pouze na webu a nebudou se zbytečně načítat i v administraci, kde nejsou potřeba.
6. To je vše.

Ale opakuji znovu, že styly, které se týkají přímo šablony by měly být v souboru layout.css
Strana: 1 ... « předchozí 27 28 29 30 31 32 33 34 35 další » ... 70