ilch Forum » Ilch CMS 2.x » Design und Templates » Customdesign festlegen welche Index.php

Geschlossen
  1. #1
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    145
    Beitragswertungen
    11 Beitragspunkte
    Hi,

    kann ich ilch irgendwie sagen, dass es bei einem übergebenen parameter per GET eine bestimmte index.php nehmen soll?

    Also so wie index.php und index_full.php (und dazu würde jetzt einfach noch ne index_custom.php kommen) im Ordner layouts/clan3colums/...

    Die index_custom.php soll angewendet werden wenn ich z.b. www.doaminname.com/index.php/article/index/index?design=custom aufrufe

    würde das irgendwie machbar sein?

    Vielen Dank


    verwendete ilch Version: 2.x
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Nex4T ilch.de Design
    Registriert seit
    28.02.2007
    Beiträge
    2.954
    Beitragswertungen
    145 Beitragspunkte
    Schau dir dazu mal die Config datei des Standart designs an
    while(!asleep()) sheep++;
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    145
    Beitragswertungen
    11 Beitragspunkte
    Okay,

    wenn ich da nun meine index_custom eintragen würde und die entsprechenden Module eintrage, dann übernimmt er die ja theoretisch auch für den normalen Aufruf der Website. Das soll ja nicht so sein.

    Ich wollt eigendlich, dass nur bei Übergabe des parameters design=custom er dann index_custom.php als layout ausgibt.

    Oder denk ich schonwieder quer ^^?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Nex4T ilch.de Design
    Registriert seit
    28.02.2007
    Beiträge
    2.954
    Beitragswertungen
    145 Beitragspunkte
    ['module' => 'faq', 'controller' => 'index', 'action' => 'show', 'catId' => $this->getRequest()->getParam('catId')],


    so ungefähr sollte es klappen
    while(!asleep()) sheep++;
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    145
    Beitragswertungen
    11 Beitragspunkte
    Vielen Dank, das hat mir schon sehr weitergeholfen.

    Jedoch gibt es einen Fehler bei der $this variable.

    Parse error: syntax error, unexpected '$this' (T_VARIABLE) in /customers/c/1/8/underground-community.com/httpd.www/application/layouts/customdesign/config/config.php on line 21


    ich denke, dass diese für das abfragen des vo mir gewollten GET["design"] paramters?
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Nex4T ilch.de Design
    Registriert seit
    28.02.2007
    Beiträge
    2.954
    Beitragswertungen
    145 Beitragspunkte
    Ach warte du brauchst this gar nicht, es reicht wenn du so definierst
    LAyout 1:
    ['module' => 'faq', 'controller' => 'index', 'action' => 'show', 'catId' => '1'],

    LAyout 2:
    ['module' => 'faq', 'controller' => 'index', 'action' => 'show', 'catId' => '2'],


    je nach id ein anderes Design, verallgemeinern kann man das leider nicht dann würde er bei jeder id das selbe design abrufen.

    Ich habs noch nicht getestet also kann ich dir da schlecht sagen ob das funktioniert^^


    Zuletzt modifiziert von Nex4T am 02.02.2018 - 19:40:25
    while(!asleep()) sheep++;
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    145
    Beitragswertungen
    11 Beitragspunkte
    Also,

    Hier meine Config:
    <?php
    
    namespace Layouts\CustomDesign\Config;
    
    class Config extends \Ilch\Config\Install
    {
        public $config = [
            'name' => 'CustomDesign',
            'version' => '1.0',
            'author' => 'ilch.de / Raptusguru',
            'link' => 'http://www.underground-community.com',
            'desc' => '3 Spalten Clan Layout',
            'layouts' => [
                'index_full' => [
                    ['module' => 'user', 'controller' => 'panel'],
                    ['module' => 'forum'],
                    ['module' => 'guestbook'],
                ],
    			'index_mobileilch' => [
    				['module' => 'faq', 'controller' => 'index', 'action' => 'show', 'catId' => '1'],
    			]//only for example
            ],
            //'modulekey' => 'Name of Module'
        ];
    
        public function getUpdate($installedVersion)
        {
    
        }
    }


    Hier mein Layout was ich bei vorhandenem ?design=mobileilch haben möchte:
    <?php /** @var $this \Ilch\Layout\Frontend */ ?><!DOCTYPE html>
    <html lang="de">
        <head>
            <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
            <?=$this->getHeader() ?>
            <link href="<?=$this->getVendorUrl('twbs/bootstrap/dist/css/bootstrap.min.css') ?>" rel="stylesheet">
            <link href="<?=$this->getLayoutUrl('style.css') ?>" rel="stylesheet">
            <?=$this->getCustomCSS() ?>
            <script src="<?=$this->getVendorUrl('twbs/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
        </head>
        <body>
            <div class="panel panel-default">
                                <div class="panel-body">
                                    <?=$this->getContent() ?>
                                </div>
                            </div>
        </body>
    </html>


    So, für die FAQ funktioniert das soweit sobald ich auf eine FAQ Seite gehe z.b.:

    https://underground-community.com/index.php/faq/index/show/id/1

    dort wird mein Layout ausgegeben. Jedoch sollte es nur ausgegeben werden wenn z.b.:

    https://underground-community.com/index.php/faq/index/show/id/1?design=mobileilch

    aufgerufen wird.

    Ist das möglich?
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    145
    Beitragswertungen
    11 Beitragspunkte
    Also,

    ich habe jetzt einen Weg gefunden, aber der gefällt mir nicht ganz so.

    Ich habe einfach die index.php des Layouts modifiziert.

    <?php /** @var $this \Ilch\Layout\Frontend */ ?><!DOCTYPE html>
    <html lang="de">
        <head>
            <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
            <?=$this->getHeader() ?>
            <link href="<?=$this->getVendorUrl('twbs/bootstrap/dist/css/bootstrap.min.css') ?>" rel="stylesheet">
            <link href="<?=$this->getLayoutUrl('style.css') ?>" rel="stylesheet">
            <?=$this->getCustomCSS() ?>
            <script src="<?=$this->getVendorUrl('twbs/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
        </head>
        <body>
    	<?php if(@$_GET["design"] == "mobileilch") : ?>
    				<div class="panel panel-default">
                        <div class="panel-body">
                                <?=$this->getContent() ?>
                        </div>
                    </div>'
    	
    	<?php else: ?>
    	<div id="fb-root"></div>
    <script>(function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/de_DE/sdk.js#xfbml=1&version=v2.10&appId=533858676741428";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>
            <header>
                <nav class="navbar navbar-gaming navbar-fixed-top hidden-sm hidden-md hidden-lg">
                    <div class="container-fluid">
                        <div class="navbar-header">
                            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-main" aria-expanded="false">
                                <span class="sr-only">Toggle navigation</span>
                                <span class="icon-bar"></span>
                                <span class="icon-bar"></span>
                                <span class="icon-bar"></span>
                            </button>
                            <a class="navbar-brand" href="/">Navigation</a>
                        </div>
    
                        <div class="collapse navbar-collapse" id="bs-navbar-collapse-main">
                            <?php
                            echo $this->getMenu
                            (
                                1,
                                '<div class="panel panel-gaming">
                                     <div class="panel-heading">%s</div>
                                        <div class="panel-body">
                                            %c
                                        </div>
                                 </div>'
                            );
                            ?>
                        </div>
                    </div>
                </nav>
    
                <div class="container">
                    <div class="gaming">
                        <div id="carousel-generic" class="carousel slide" data-ride="carousel">
                            <ol class="carousel-indicators">
                                <li data-target="#carousel-generic" data-slide-to="0" class="active"></li>
                                <li data-target="#carousel-generic" data-slide-to="1"></li>
                                <li data-target="#carousel-generic" data-slide-to="2"></li>
                            </ol>
    
                            <div class="carousel-inner" role="listbox">
                                <div class="item active">
                                    <img src="<?=$this->getLayoutUrl('img/slider/slider_1.jpg') ?>" alt="Slider 1">
                                </div>
                                <div class="item">
                                    <img src="<?=$this->getLayoutUrl('img/slider/slider_2.jpg') ?>" alt="Slider 2">
                                </div>
                                <div class="item">
                                    <img src="<?=$this->getLayoutUrl('img/slider/slider_3.jpg') ?>" alt="Slider 2">
                                </div>
                            </div>
    
                            <a class="left carousel-control" href="#carousel-generic" role="button" data-slide="prev">
                                <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
                                <span class="sr-only">Previous</span>
                            </a>
                            <a class="right carousel-control" href="#carousel-generic" role="button" data-slide="next">
                                <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
                                <span class="sr-only">Next</span>
                            </a>
                        </div>
    
                        <div class="gaming-name">
                            Underground Community
                        </div>
                    </div>
                </div>
            </header>
    
            <div class="container">
    			<div class="fb-like" data-href="https://www.facebook.com/undergroundcom/" data-layout="standard" data-colorscheme="dark" data-width="400" data-action="like" data-size="small" data-show-faces="true" data-share="true"></div>
    			<script src="https://apis.google.com/js/platform.js"></script>
    			<div class="g-ytsubscribe" data-channelid="UCVEkSFkwr0UFICyPAkjJcoQ" data-layout="full" data-theme="dark" data-count="default"></div>
    			<div class="gaming">
                    <div class="row">
                        <div class="hidden-xs col-sm-2 col-md-3 col-lg-2">
                            <?php
                            echo $this->getMenu
                            (
                                1,
                                '<div class="panel panel-gaming">
                                     <div class="panel-heading">%s</div>
                                        <div class="panel-body">
                                            %c
                                        </div>
                                 </div>'
                            );
                            ?>
                        </div>
                        <div class="col-xs-12 col-sm-8 col-md-7 col-lg-8">
                            <?=$this->getHmenu() ?>
                            <div class="panel panel-default">
                                <div class="panel-body">
                                    <?=$this->getContent() ?>
                                </div>
                            </div>
                        </div>
                        <div class="col-xs-12 col-sm-2">
                            <?php
                            echo $this->getMenu
                            (
                                2,
                                '<div class="panel panel-gaming">
                                     <div class="panel-heading">%s</div>
                                        <div class="panel-body">
                                            %c
                                        </div>
                                 </div>'
                            );
                            ?>
                        </div>
                    </div>
                </div>
            </div>
    
            <div class="footer">
                <div class="container">
                    <div class="gaming">
                        <div class="row">
                            <div class="col-xs-12 col-sm-6">
                                &copy; Ilch 2.0 Free Layout | CMS by <a href="http://www.ilch.de/">Ilch</a>
                            </div>
                            <div class="col-xs-12 col-sm-6 nav">
                                <ul>
                                    <li><a href="/">Home</a></li>
                                    <li><a href="/index.php/contact/index/index">Kontakt</a></li>
                                    <li><a href="/index.php/imprint/index/index">Impressum</a></li>
                                    <li><a href="/index.php/privacy/index/index">Datenschutz</a></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
    
            <?=$this->getFooter() ?>
    	<?php endif; ?>
        </body>
    </html>


    Das funzt genau so wie ich es haben wollte. ^^.
    Mir wäre es jedoch lieber, wenn es eine Möglichkeit geben würde ohne großes modifizieren der original dateien an eine Lösung zu kommen ^^.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Design und Templates

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten