Ergebnis 1 bis 4 von 4

Thema: externen Kalender einbinden

  1. #1
    Contao-Nutzer
    Registriert seit
    10.12.2014.
    Beiträge
    59

    Standard externen Kalender einbinden

    Hallo,
    folgendes Problem:
    Auf unsere Seite soll ein Kalender eingebunden werden, für andere CMS gibt es schon Module, für Contao allerdings nicht. Haben ein PHP-Skript bekommen wissen nun nur nicht wie wir es einbinden können.

    <?php
    // Geben Sie hier Ihre Veranstalter-ID von www.evangelische-termine.de ein:
    // Mehrere Veranstalter-IDs können durch Kommata getrennt angegeben werden: z.B: 3,21,25
    $veranstalterID = '3';

    // Für eine Ausgabe auf Dekanatsebene:
    // Bitte setzen Sie die veranstalterID auf 'all'
    // Entfernen Sie bitte das # von der folgenden Zeile und geben die 3-stellige Dekanatsnummer an:
    #$region = '404';
    // Gruppenadministrator-ID (optional)
    // Wenn eine aid angegeben ist, werden im Veranstalter-Auswahlmenü die zugehörigen Veranstalter angezeigt
    #$aid = '';

    // Vorbelegungen beim ersten Aufruf:
    // siehe Handbuch -> Parameter
    $ET_defaults = array(
    'vid' => $veranstalterID,
    'region' => $region,
    'aid' => $aid,
    'eventtype' => 'all',
    'highlight' => 'all',
    'people' => '0',
    'itemsPerPage' => '20',
    'place' => '',
    'person' => '',
    'ipm' => '',
    'cha' => '',
    'until' => 'yes'
    );

    // Encoding Ihrer Website latin1 | utf8
    $encoding = 'utf8';

    // Designanpssung: Geben Sie hier den vollständigen Pfad auf eine eigene CSS-Datei an
    // oder 'none' um alle CSS-Angaben zu entfernen
    // z.B: $ET_defaults['css'] = 'http://www.ihre-domain.de/Styles/et.css';
    $ET_defaults['css'] = '';


    // ------------------ Unterhalb bitte nichts ändern ------------------

    session_start();
    if(!isset($_SESSION['session'])) {
    $session = new stdClass;
    $_SESSION['session'] = $session;
    } else {
    $session = $_SESSION['session'];
    }
    function setSessionVar($key, $sess, $default = NULL) {
    if( $_REQUEST[$key] != ""){
    $sess->{$key} = $_REQUEST[$key];
    if($key != 'pageID'){
    $sess->pageID = 1;
    }
    }
    if($sess->{$key} == ""){
    $sess->{$key} = $default;
    }
    }
    function resetSessionVars($sess, $defaults){
    $sess->vid = $defaults['vid'];
    $sess->eventtype = $defaults['eventtype'];
    $sess->highlight = $defaults['highlight'];
    $sess->people = $defaults['people'];
    $sess->pageID = 1;
    $sess->et_q = '';
    $sess->itemsPerPage = $defaults['itemsPerPage'];
    $sess->date = '';
    }

    if($_REQUEST['reset'] == '1'){
    resetSessionVars($session, $ET_defaults);
    } else {
    setSessionVar('vid', $session ,$ET_defaults['vid']);
    setSessionVar('region', $session ,$ET_defaults['region']);
    setSessionVar('aid', $session ,$ET_defaults['aid']);
    setSessionVar('date', $session ,'');
    setSessionVar('eventtype', $session , $ET_defaults['eventtype']);
    setSessionVar('highlight', $session , $ET_defaults['highlight']);
    setSessionVar('people', $session ,$ET_defaults['people']);
    setSessionVar('itemsPerPage', $session ,$ET_defaults['itemsPerPage']);
    setSessionVar('pageID', $session ,'1');

    if($_REQUEST['et_q'] != ''){
    $session->et_q = $_REQUEST['et_q'];
    if($_REQUEST['reset'] == '1'){
    $session->et_q = '';
    }
    } else {
    if($_REQUEST['action'] == 'search'){
    $session->et_q = '';
    }
    }
    }
    $queryString = 'vid=' . $session->vid .
    '&'.'region=' . $session->region .
    '&aid=' . $session->aid .
    '&date='.$session->date .
    '&highlight=' . $session->highlight .
    '&eventtype=' . $session->eventtype .
    '&people=' . $session->people .
    '&et_q=' . $session->et_q .
    '&place=' . $ET_defaults['place'] .
    '&person=' . $ET_defaults['person'] .
    '&ipm=' . $ET_defaults['ipm'] .
    '&cha=' . $ET_defaults['cha'] .
    '&until=' . $ET_defaults['until'] .
    '&itemsPerPage='.$session->itemsPerPage .
    '&pageID='.$session->pageID .
    '&encoding=' . $encoding.
    '&css=' . $ET_defaults['css'] ;

    $etVars = array('vid','region','aid','date','highlight','eve nttype','people','et_q','place',
    'person','ipm','cha','until','itemsPerPage','pageI D','encoding','css','etID','Suche','action',sessio n_name(),'_token','reset');
    foreach($_REQUEST as $key => $val){
    if(!in_array($key,$etVars)){
    $queryString .= '&' . $key . '='. $val;
    }
    }
    $filename = 'veranstaltungen-php';
    if ($_GET['etID'] != "") {
    $queryString .= '&ID='. $_GET['etID'];
    $filename = 'detail-php';
    }
    $host = "evangelische-termine.de";
    $url = "http://$host/$filename?$queryString";

    if(function_exists('curl_init')){
    $sobl = curl_init($url);
    curl_setopt($sobl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($sobl, CURLOPT_USERAGENT, 'Veranstalter-Script 2.0');
    curl_setopt($sobl, CURLOPT_REFERER, $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
    curl_setopt($sobl, CURLOPT_CONNECTTIMEOUT, 2);
    $pageContent = curl_exec ($sobl);
    $sobl_info = curl_getinfo ( $sobl);
    if($sobl_info['http_code'] == '200'){
    $pageContent = str_replace("/Upload/","http://$host/Upload/",$pageContent);
    $pageContent = str_replace("http://_HOST_/","http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] ,$pageContent);
    $veranstaltungen = $pageContent;
    } else {
    # Fehlermeldung:
    $veranstaltungen = '<div>Der Veranstaltungskalender ist derzeit nicht verfügbar.</div>';
    }
    } else {
    # Fehlermeldung:
    $veranstaltungen = "Das benötigte PHP-Modul curl ist nicht installiert.";
    }
    ?>
    Setzen Sie an die Stelle, an der die Veranstaltungen angezeigt werden sollen, folgenden Code:
    ?
    1 <?php echo $veranstaltungen; ?>


    Eine andere Möglichkeit den Kalender einzubinden wäre dann wohl über XML. Gibt es hierfür eine Möglichkeit bei Contao?


    Danke schonmal

  2. #2
    Contao-Fan Avatar von JMMB
    Registriert seit
    08.03.2012.
    Beiträge
    261
    User beschenken
    Wunschliste

    Standard

    Hallo,

    schau mal hier wurde das Thema schon mal behandelt.

    Vielleicht hilft es schon.

    jmmb

  3. #3
    Contao-Nutzer
    Registriert seit
    02.02.2010.
    Beiträge
    2

    Standard

    Hallo,

    Habt ihr das Problem lösen können?
    Möchte diesen Kalender auch einbinden.

    comex

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.277
    Partner-ID
    10107

    Beitrag

    Du kannst das Script in eine PHP Datei im /templates Ordner geben und dann per {{file::*}} Insert Tag einbinden.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •