Code Monkey home page Code Monkey logo

cms's Introduction

CMS pro Nette Framework

Administrace webové aplikace

Nastaveni

Zaregistrujte a nastavete extension v config.neon. Od namespace je odvozen název modulu pro další rozšíření administrace a to tak, že se k namespace přidá 'Ext'

extensions:
    cms: NAttreid\Cms\DI\CmsExtension

cms:
    namespace: 'Cms'
    url: '/cms/'
    sender: 'Odesilatel <[email protected]>'
    front: ':Front:Homepage:'

    disabled: false # vypnuti CRM
    
    configurator:
    	defaultPromenna: 'hodnota' # nastaveni vychozich hodnot v configuratoru

    fileManagerDir: %appDir%/../
    infoRefresh: 15 # vteriny

    minPasswordLength: 8
    passwordChars: '0-9a-zA-Z'

    loginExpiration: '20 minutes'
    sessionExpiration: '14 days'
    
    tracy:
        cookie: nejakyHash

    layout: '%appDir%/cms/templates/cms.latte' # hlavní šablona

a přidejte model do ORM. V příkladu je extension orm pod nazvem orm

orm:
    add:
        - NAttreid\Cms\Model\Orm

Pro přidání assets použijte

cms:
    assets:
        - %wwwDir%/js/example.js
        - %wwwDir%/css/example.css
        - {%wwwDir%/js/cs.js, locale: cs} # localizace pro cs
        - http://someUrt/scritp.js # remote
        - //someUrt/scritp.js # remote
        - {%wwwDir%/js/example.js, remote: true} # remote
        - {files: ["*.js", "*.css", "*.less"], from: %appDir%/cms}

Přídání dalších modulů

cms:
    menu:
        Example:
            link: 'Homepage:'
            web:
                test:
                    link: action                            # pokud je null, provede se default action
                    arguments: {name: value}                # argumenty
                    toBlank: TRUE                           # otevre do noveho okna
                    count: 5                                # pocet za linkem
                    # nebo
                    count: @SomeClass::countUnapproved()    # pocet za linkem
                    # nebo
                    count: {5, info}                        # muze byt info, warning (info je default)

Presenter musí dědit z třídy \NAttreid\Cms\Control\ModulePresenter. Příklad presenteru test z ukázky menu

namespace App\Cms\Example\Presenters;

class TestPresenter extends \NAttreid\Cms\Control\ModulePresenter {
    public function renderDefault() {
        // pro zobrazeni menu v mobilu (defaultne je skryto)
        $this->viewMobileMenu();
        
        // pridani tlacitka do Dockbaru
        $this['dockbar']->addLeftLink('tlacitko', 'link!');
        // nebo
        $this['dockbar']->addLeftLink('tlacitko')
            ->addClass('trida'); // spusteni pomoci javascriptu
            
        // tlacitko vpravo
        $this['dockbar']->addRightLink('tlacitko')
    }
}

cms.latte

{extends $layout}

Šablona @layout.latte pro modul musí dědit z cms.latte

Rozšiřitelnost pomocí extension

Třída extension musí dědit z \NAttreid\Cms\DI\ModuleExtension

class ExampleExtension extends \NAttreid\Cms\DI\ModuleExtension {

    protected $namespace = 'example';
    protected $dir = __DIR__;
    protected $package = 'Package\\';

    public function beforeCompile() {
        parent::beforeCompile();
        $this->addLoaderFile('cestaKCssNeboJs');
        $this->addLoaderFile('cestaKLocalizovanemuJs','cs');
    }

}

a v složce musí být soubor default.neon

link: 'Homepage:'
position: 1

menu:
    group:
        test:
            link:

Presenter musí dědit z třídy \NAttreid\Cms\Control\ModulePresenter

namespace Package\Example\Presenters;

class TestPresenter extends \NAttreid\Cms\Control\ModulePresenter {
    
}

Nastavení pro presenteru CMS

Zaregistrujte službu, která bude implementovat z \NAttreid\Cms\ISettings

class CmsSettings implements ISettings {
    
    public function init(\Nette\Application\UI\ITemplate $template, \NAttreid\Cms\Control\AbstractPresenter $presenter)
	{
		// php kod ...
	}
}

Další

Přesměrování při AJAXovém volání v presenteru

$this->ajaxRedirect('link', ['args']);

cms's People

Contributors

attreid avatar

Stargazers

 avatar Martin Vágovszký avatar Martin Kokeš avatar Slava.Aurim avatar

Watchers

Václav Pávek avatar James Cloos avatar Martin Kokeš avatar  avatar

cms's Issues

Role

oprava prekladu

Emailing

Vytvořit pořádné šablony

Role

Přidat omezení pro přiřazení role superadmin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.