<?php snippet('main-header') ?> <div class="imagewrap"> <div id="featuredimg"> <img src="<?php echo $page->images()->sortBy('sort', 'asc')->first()->url() ?>" alt="<?php echo $page->title()->html() ?>"> </div> </div> <div class="wrap"> <main class="main" role="main"> <div class="text article"> <?php snippet('blog-article-header') ?> <?php echo kirbytext($page->text()) ?> <?php snippet('blog-article-footer') ?> </div> </main> <?php snippet('main-aside') ?> </div> <?php snippet('main-footer') ?>
/** * Tpl * * Super simple template engine * * @package Kirby Toolkit * @author Bastian Allgeier <bastian@getkirby.com> * @link http://getkirby.com * @copyright Bastian Allgeier * @license http://www.opensource.org/licenses/mit-license.php MIT License */ class Tpl extends Silo { public static $data = array(); public static function load($_file, $_data = array(), $_return = true) { if(!file_exists($_file)) return false; ob_start(); extract(array_merge(static::$data, (array)$_data)); require($_file); $_content = ob_get_contents(); ob_end_clean(); if($_return) return $_content; echo $_content; } }
if($template instanceof Page) { $page = $template; $file = $page->templateFile(); $data = $this->data($page, $data); } else { $file = $template; $data = $this->data(null, $data); } // check for an existing template if(!file_exists($file)) { throw new Exception('The template could not be found'); } // merge and register the template data globally $tplData = tpl::$data; tpl::$data = array_merge(tpl::$data, $data); // load the template $result = tpl::load($file, null, $return); // reset the template data tpl::$data = $tplData; return $result; } }
} return $template; } // return a fresh template return $this->template($page, $data); } /** * Template configuration * * @param Page $page * @param array $data * @return string */ public function template(Page $page, $data = array()) { return $this->component('template')->render($page, $data); } public function request() { if(!is_null($this->request)) return $this->request; return $this->request = new Request($this); } public function router() { return $this->router; } public function route() { return $this->route; } /** * Starts the router, renders the page and returns the response * * @return mixed */
} } // try to fetch the template from cache $template = $this->cache()->get($cacheId); // fetch fresh content if the cache is empty if(empty($template)) { $template = $this->template($page, $data); // store the result for the next round $this->cache()->set($cacheId, $template); } return $template; } // return a fresh template return $this->template($page, $data); } /** * Template configuration * * @param Page $page * @param array $data * @return string */ public function template(Page $page, $data = array()) { return $this->component('template')->render($page, $data); } public function request() { if(!is_null($this->request)) return $this->request; return $this->request = new Request($this); } public function router() {
* @link http://getkirby.com * @copyright Bastian Allgeier * @license http://getkirby.com/license */ class Response extends \Kirby\Component { /** * Builds and return the response by various input * * @param mixed $response * @return mixed */ public function make($response) { if(is_string($response)) { return $this->kirby->render(page($response)); } else if(is_array($response)) { return $this->kirby->render(page($response[0]), $response[1]); } else if(is_a($response, 'Page')) { return $this->kirby->render($response); } else if(is_a($response, 'Response')) { return $response; } else { return null; } } }
// check for a valid route if(is_null($this->route)) { header::status('500'); header::type('json'); die(json_encode(array( 'status' => 'error', 'message' => 'Invalid route or request method' ))); } // call the router action with all arguments from the pattern $response = call($this->route->action(), $this->route->arguments()); // load all language variables // this can only be loaded once the router action has been called // otherwise the current language is not yet available $this->localize(); // build the response $this->response = $this->component('response')->make($response); // store the current language in the session if( $this->option('language.detect') && $this->site()->multilang() && $this->site()->language() ) { s::set('kirby_language', $this->site()->language()->code()); } return $this->response; } /** * Register a new hook * * @param string/array $hook The name of the hook * @param closure $callback */
<?php define('DS', DIRECTORY_SEPARATOR); // load kirby require(__DIR__ . DS . 'kirby' . DS . 'bootstrap.php'); // check for a custom site.php if(file_exists(__DIR__ . DS . 'site.php')) { require(__DIR__ . DS . 'site.php'); } else { $kirby = kirby(); } // render echo $kirby->launch();
Key | Value |
Kirby Toolkit | v2.5.11 |
Kirby CMS | v2.5.11 |
Key | Value |
REDIRECT_REDIRECT_UNIQUE_ID | ZgXVQ903kYoTmoMir9b5LgAAAAc |
REDIRECT_REDIRECT_WAAS_MODE | 0 |
REDIRECT_REDIRECT_DOCUMENT_ROOT | /kunden/homepages/41/d76271265/htdocs/sh_kirby |
REDIRECT_REDIRECT_UI_SUEXEC_DEFAULT_CHROOT_ID | 14 |
REDIRECT_REDIRECT_UI_SUEXEC_FSTATD_UNIXSOCKET | /run/ui-fstatd.suexec.socket |
REDIRECT_REDIRECT_UI_SUEXEC_STATISTICS_UNIXSOCKET | /homepages/sclientMF/http.sock.bin |
REDIRECT_REDIRECT_HTTPS | on |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU | 40 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT | 15 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD | 27 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_JIMDO | 800 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU_JIMDO | 60 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM_JIMDO | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY_HOST | svenheinemann.de |
REDIRECT_REDIRECT_DBENTRY_VALUE | /kunden/homepages/41/d76271265/htdocs/sh_kirby:d0000#CPU 60 #MEM 524288 #CGI 524618 #NPROC 16 #TAID 34605773 #LANG 0 #PARKING 1 #RSCLVL 300 #STAT 1 #CHROOT 13 |
REDIRECT_REDIRECT_DBENTRY_DOCROOT | /kunden/homepages/41/d76271265/htdocs/sh_kirby |
REDIRECT_REDIRECT_DBENTRY_HASH | d0000 |
REDIRECT_REDIRECT_DBENTRY__CPU | 60 |
REDIRECT_REDIRECT_DBENTRY__MEM | 524288 |
REDIRECT_REDIRECT_DBENTRY__CGI | 524618 |
REDIRECT_REDIRECT_DBENTRY__NPROC | 16 |
REDIRECT_REDIRECT_DBENTRY__TAID | 34605773 |
REDIRECT_REDIRECT_DBENTRY__LANG | 0 |
REDIRECT_REDIRECT_DBENTRY__PARKING | 1 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL | 300 |
REDIRECT_REDIRECT_DBENTRY__STAT | 1 |
REDIRECT_REDIRECT_DBENTRY__CHROOT | 13 |
REDIRECT_REDIRECT_DBENTRY | /kunden/homepages/41/d76271265/htdocs/sh_kirby:d0000#CPU 60 #MEM 524288 #CGI 524618 #NPROC 16 #TAID 34605773 #LANG 0 #PARKING 1 #RSCLVL 300 #STAT 1 #CHROOT 13 |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_UNIQUE_ID | ZgXVQ903kYoTmoMir9b5LgAAAAc |
REDIRECT_DOCUMENT_ROOT | /kunden/homepages/41/d76271265/htdocs/sh_kirby |
REDIRECT_HTTPS | on |
REDIRECT_HANDLER | x-mapp-php5.4 |
REDIRECT_STATUS | 200 |
UNIQUE_ID | ZgXVQ903kYoTmoMir9b5LgAAAAc |
HTTPS | on |
HTTP_HOST | svenheinemann.de |
HTTP_CONNECTION | close |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
HTTP_REFERER | http://svenheinemann.de/blog/eltern-kaempfen-gegen-rechts |
PATH | /bin:/usr/bin |
SERVER_SIGNATURE | |
SERVER_SOFTWARE | Apache |
SERVER_NAME | svenheinemann.de |
SERVER_ADDR | 82.165.86.236 |
SERVER_PORT | 443 |
REMOTE_ADDR | 54.163.221.133 |
DOCUMENT_ROOT | /kunden/homepages/41/d76271265/htdocs/sh_kirby |
REQUEST_SCHEME | https |
CONTEXT_PREFIX | /system-bin/ |
CONTEXT_DOCUMENT_ROOT | /kunden/usr/lib/cgi-bin/ |
SERVER_ADMIN | webmaster@svenheinemann.de |
SCRIPT_FILENAME | /kunden/homepages/41/d76271265/htdocs/sh_kirby/index.php |
REMOTE_PORT | 26202 |
REDIRECT_URL | /index.php |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_METHOD | GET |
QUERY_STRING | |
REQUEST_URI | /blog/eltern-kaempfen-gegen-rechts |
SCRIPT_NAME | /index.php |
STATUS | 200 |
ORIG_PATH_INFO | /index.php |
ORIG_PATH_TRANSLATED | /kunden/homepages/41/d76271265/htdocs/sh_kirby/index.php |
PHP_SELF | /index.php |
REQUEST_TIME_FLOAT | 1711658307,1253 |
REQUEST_TIME | 1711658307 |
argv | Array ( ) |
argc | 0 |
Key | Value |
REDIRECT_REDIRECT_UNIQUE_ID | ZgXVQ903kYoTmoMir9b5LgAAAAc |
REDIRECT_REDIRECT_WAAS_MODE | 0 |
REDIRECT_REDIRECT_DOCUMENT_ROOT | /kunden/homepages/41/d76271265/htdocs/sh_kirby |
REDIRECT_REDIRECT_UI_SUEXEC_DEFAULT_CHROOT_ID | 14 |
REDIRECT_REDIRECT_UI_SUEXEC_FSTATD_UNIXSOCKET | /run/ui-fstatd.suexec.socket |
REDIRECT_REDIRECT_UI_SUEXEC_STATISTICS_UNIXSOCKET | /homepages/sclientMF/http.sock.bin |
REDIRECT_REDIRECT_HTTPS | on |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU | 40 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT | 15 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD | 27 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_JIMDO | 800 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU_JIMDO | 60 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM_JIMDO | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY_HOST | svenheinemann.de |
REDIRECT_REDIRECT_DBENTRY_VALUE | /kunden/homepages/41/d76271265/htdocs/sh_kirby:d0000#CPU 60 #MEM 524288 #CGI 524618 #NPROC 16 #TAID 34605773 #LANG 0 #PARKING 1 #RSCLVL 300 #STAT 1 #CHROOT 13 |
REDIRECT_REDIRECT_DBENTRY_DOCROOT | /kunden/homepages/41/d76271265/htdocs/sh_kirby |
REDIRECT_REDIRECT_DBENTRY_HASH | d0000 |
REDIRECT_REDIRECT_DBENTRY__CPU | 60 |
REDIRECT_REDIRECT_DBENTRY__MEM | 524288 |
REDIRECT_REDIRECT_DBENTRY__CGI | 524618 |
REDIRECT_REDIRECT_DBENTRY__NPROC | 16 |
REDIRECT_REDIRECT_DBENTRY__TAID | 34605773 |
REDIRECT_REDIRECT_DBENTRY__LANG | 0 |
REDIRECT_REDIRECT_DBENTRY__PARKING | 1 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL | 300 |
REDIRECT_REDIRECT_DBENTRY__STAT | 1 |
REDIRECT_REDIRECT_DBENTRY__CHROOT | 13 |
REDIRECT_REDIRECT_DBENTRY | /kunden/homepages/41/d76271265/htdocs/sh_kirby:d0000#CPU 60 #MEM 524288 #CGI 524618 #NPROC 16 #TAID 34605773 #LANG 0 #PARKING 1 #RSCLVL 300 #STAT 1 #CHROOT 13 |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_UNIQUE_ID | ZgXVQ903kYoTmoMir9b5LgAAAAc |
REDIRECT_DOCUMENT_ROOT | /kunden/homepages/41/d76271265/htdocs/sh_kirby |
REDIRECT_HTTPS | on |
REDIRECT_HANDLER | x-mapp-php5.4 |
REDIRECT_STATUS | 200 |
UNIQUE_ID | ZgXVQ903kYoTmoMir9b5LgAAAAc |
HTTPS | on |
HTTP_HOST | svenheinemann.de |
HTTP_CONNECTION | close |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
HTTP_REFERER | http://svenheinemann.de/blog/eltern-kaempfen-gegen-rechts |
PATH | /bin:/usr/bin |
SERVER_SIGNATURE | |
SERVER_SOFTWARE | Apache |
SERVER_NAME | svenheinemann.de |
SERVER_ADDR | 82.165.86.236 |
SERVER_PORT | 443 |
REMOTE_ADDR | 54.163.221.133 |
DOCUMENT_ROOT | /kunden/homepages/41/d76271265/htdocs/sh_kirby |
REQUEST_SCHEME | https |
CONTEXT_PREFIX | /system-bin/ |
CONTEXT_DOCUMENT_ROOT | /kunden/usr/lib/cgi-bin/ |
SERVER_ADMIN | webmaster@svenheinemann.de |
SCRIPT_FILENAME | /kunden/homepages/41/d76271265/htdocs/sh_kirby/index.php |
REMOTE_PORT | 26202 |
REDIRECT_URL | /index.php |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_METHOD | GET |
QUERY_STRING | |
REQUEST_URI | /blog/eltern-kaempfen-gegen-rechts |
SCRIPT_NAME | /index.php |
STATUS | 200 |
ORIG_PATH_INFO | /index.php |
ORIG_PATH_TRANSLATED | /kunden/homepages/41/d76271265/htdocs/sh_kirby/index.php |