[PHP-Export] Filterproblem im selbst programmierten Wrapper

Programmierung des OpenEstate-ImmoTools
Forum rules
Bitte beachten Sie die allgemeinen Forenregeln, bevor Sie sich an der Diskussion beteiligen.

[PHP-Export] Filterproblem im selbst programmierten Wrapper

Postby Ullrich » Fri 10. Aug 2012, 11:02

Hallo Zusammen,

folgendes Problem habe ich:

Auf meiner Seite gibt es eine Datei "immobilien-angebote-zur-miete.php?clearFilters=1", mit welcher ich die Immobilienangebote "Wohnungen zur Miete" aufrufe.

Der Wrapper sieht folgendermaßen aus:

Code: Select all
<?php

define
( 'IMMOTOOL_BASE_PATH', './immobilien-angebote/' );  // Server-Pfad zu den ImmoTool-Skripten
define( 'IMMOTOOL_BASE_URL', './immobilien-angebote/' );   // URL zu den ImmoTool-Skripten
if (isset($_REQUEST['wrap']) && $_REQUEST['wrap']=='expose') 
{
$wrap = 'expose';
$script = 'expose.php';
$url123 = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
else
{
$wrap = 'index';
$script = 'index.php';
}

if (!isset($_REQUEST['filter']) || !is_array($_REQUEST['filter'])) {
  $_REQUEST['filter'] = array();
}
if (!isset($_REQUEST['filter']['action'])) {
  $_REQUEST['filter']['action'] = 'miete';
}
if (!isset($_REQUEST['filter']['type'])) { 
  $_REQUEST
['filter']['type'] = 'wohnung';
}
ob_start();
include(
 IMMOTOOL_BASE_PATH . $script );
$page = ob_get_contents(); 
ob_clean
();
$setup = new immotool_setup();
if (is_callable(array('immotool_myconfig', 'load_config_default'))) immotool_myconfig::load_config_default( $setup );
$stylesheets = array( IMMOTOOL_BASE_URL . 'style.php' );
if (is_string($setup->AdditionalStylesheet) && strlen($setup->AdditionalStylesheet)>0) $stylesheets[] = $setup->AdditionalStylesheet;
echo immotool_functions::wrap_page( $page, $wrap, $_SERVER['SCRIPT_NAME'], IMMOTOOL_BASE_URL, $stylesheets );
?>


Wenn ich nun einen Filter setze, z.B. (Stadt: Leipzig, Zimmeranzahl:1) zeigt er mir die richtigen Ergebnisse an.
Wenn ich dann allerdings auf Seite 2 der Liste klicke, zeigt er mir wieder alle Immobilien an, nicht nur die 1-Zimmerwohnungen in Leipzig.

Statt 3 Ergebnis-Seiten werden nun also wieder 34 Ergebnis-Seiten angezeigt.
Woran könnte das liegen?

Gruß, Silvio
Last edited by Andreas Rudolph on Tue 11. Sep 2012, 22:32, edited 2 times in total.
Reason: PHP-Syntax-Highlighting im CODE-Block, Betreff wurde etwas präzisiert
Ullrich
 
Posts: 91
Joined: Sat 23. Apr 2011, 00:52

Re: Filterproblem im PHP-Export

Postby Andreas Rudolph » Fri 10. Aug 2012, 11:47

Hallo Silvio,

ich bin mir nicht 100%ig sicher - aber eventuell könnte es funktionieren, wenn du die Filter-Zuweisung etwas umstellst.

Füge statt
Code: Select all
if (!isset($_REQUEST['filter']) || !is_array($_REQUEST['filter'])) {
  $_REQUEST['filter'] = array();
}
if (!isset($_REQUEST['filter']['action'])) {
  $_REQUEST['filter']['action'] = 'miete';
}
if (!isset($_REQUEST['filter']['type'])) { 
  $_REQUEST
['filter']['type'] = 'wohnung';
}
 


mal Folgendes ein:
Code: Select all
// Filter-Vorgaben beim ersten Aufruf der Seite setzen
if (!isset($_REQUEST['wrap'])) {
  $_REQUEST['filter'] = array();
  $_REQUEST['filter']['action'] = 'miete';
  $_REQUEST['filter']['type'] = 'wohnung';
}
 


Wenn dies nicht funktioniert, sende mir bitte mal den Link auf die problematische Webseite (ggf. per Privat-Mitteilung oder Ticketsystem).
Mit freundlichem Gruß / Yours sincerely
Andreas Rudolph
User avatar
Andreas Rudolph
 
Posts: 3738
Joined: Tue 16. Feb 2010, 21:48
Location: Berlin, Germany

Re: Filterproblem im PHP-Export

Postby Andreas Rudolph » Sun 19. Aug 2012, 23:27

Hallo Silvio,

danke für deine Rückmeldung per Privat-Mitteilung und sorry, dass ich jetzt erst antworte... Ich habe den Sachverhalt im Stress der letzten Veröffentlichung schlicht übersehen... :oops:

Das von dir beschriebene Problem mit den vordefinierten Filter-Kriterien haben wir bei den CMS-Modulen ja ebenso lösen müssen. Die Lösung aus den CMS-Modulen - übertragen auf das Wrapper-Skript - sieht wie folgt aus:

Code: Select all
<?php
define
( 'IMMOTOOL_BASE_PATH', './immobilien-angebote/' );  // Server-Pfad zu den ImmoTool-Skripten
define( 'IMMOTOOL_BASE_URL', './immobilien-angebote/' );   // URL zu den ImmoTool-Skripten
if (isset($_REQUEST['wrap']) && $_REQUEST['wrap']=='expose') 
{
  $wrap = 'expose';
  $script = 'expose.php';
  $url123 = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
else
{
  $wrap = 'index';
  $script = 'index.php';
  
  
// vordefinierte Filter in der Immobilienübersicht
  if (!isset($_REQUEST[ 'wrap' ]) || isset($_REQUEST[ 'filter' ])) {
    $filters = array(
      'action' => 'miete', // Vermarktungsart 'Miete'
      'type' => 'wohnung', // Immobilienart 'Wohnung'
    );
    foreach ($filters as $filter=>$value) {
      if (!is_array($_REQUEST[ 'filter' ])) {
        $_REQUEST[ 'filter' ] = array();
      }
      if (!isset($_REQUEST[ 'filter' ][$filter])) {
        $_REQUEST[ 'filter' ][$filter] = $value;
      }
    }
  }  
}

ob_start();
include(
 IMMOTOOL_BASE_PATH . $script );
$page = ob_get_contents(); 
ob_clean
();
$setup = new immotool_setup();
if (is_callable(array('immotool_myconfig', 'load_config_default'))) immotool_myconfig::load_config_default( $setup );
$stylesheets = array( IMMOTOOL_BASE_URL . 'style.php' );
if (is_string($setup->AdditionalStylesheet) && strlen($setup->AdditionalStylesheet)>0) $stylesheets[] = $setup->AdditionalStylesheet;
echo immotool_functions::wrap_page( $page, $wrap, $_SERVER['SCRIPT_NAME'], IMMOTOOL_BASE_URL, $stylesheets );
?>
Mit freundlichem Gruß / Yours sincerely
Andreas Rudolph
User avatar
Andreas Rudolph
 
Posts: 3738
Joined: Tue 16. Feb 2010, 21:48
Location: Berlin, Germany

Re: [PHP-Export] Filterproblem im selbst programmierten Wrap

Postby Ullrich » Thu 26. Feb 2015, 09:47

Hallo Zusammen,

seit Update auf die 1.0beta-34 funktioniert das mit den Filtern leider nicht mehr, es tritt das gleiche Problem wie in 2012 beschrieben auf.

Folgenden Code habe ich im Wrapper hinterlegt:

Code: Select all
<?php
    define
( 'IMMOTOOL_BASE_PATH', './immobilien-angebote/' );  // Server-Pfad zu den ImmoTool-Skripten
    define( 'IMMOTOOL_BASE_URL', './immobilien-angebote/' );   // URL zu den ImmoTool-Skripten
    if (isset($_REQUEST['wrap']) && $_REQUEST['wrap']=='expose') 
    
{
      $wrap = 'expose';
      $script = 'expose.php';
      $url123 = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    }
    else
    
{
      $wrap = 'index';
      $script = 'index.php';
      
      
// vordefinierte Filter in der Immobilienübersicht
      if (!isset($_REQUEST[ 'wrap' ]) || isset($_REQUEST[ 'filter' ])) {
        $filters = array(
          'action' => 'rent', // Vermarktungsart 'Miete'
          'type' => 'residence', // Immobilienart 'Wohnung'
        );
        foreach ($filters as $filter=>$value) {
          if (!is_array($_REQUEST[ 'filter' ])) {
            $_REQUEST[ 'filter' ] = array();
          }
          if (!isset($_REQUEST[ 'filter' ][$filter])) {
            $_REQUEST[ 'filter' ][$filter] = $value;
          }
        }
      }  
    
}

    ob_start();
    include( IMMOTOOL_BASE_PATH . $script );
    $page = ob_get_contents(); 
    ob_clean
();
    $setup = new immotool_setup();
    if (is_callable(array('immotool_myconfig', 'load_config_default'))) immotool_myconfig::load_config_default( $setup );
    $stylesheets = array( IMMOTOOL_BASE_URL . 'style.php' );
    if (is_string($setup->AdditionalStylesheet) && strlen($setup->AdditionalStylesheet)>0) $stylesheets[] = $setup->AdditionalStylesheet;
    echo immotool_functions::wrap_page( $page, $wrap, $_SERVER['SCRIPT_NAME'], IMMOTOOL_BASE_URL, $stylesheets );
?>


... für Mietwohnungen. Leider passiert es wieder, dass bei Umblättern auf Seite 2 die Filterzuordnungen verloren gehen.

Grüße, Silvio
Last edited by Andreas Rudolph on Fri 27. Feb 2015, 13:22, edited 1 time in total.
Reason: Syntax-Highlighting des PHP-Codes aktiviert
Ullrich
 
Posts: 91
Joined: Sat 23. Apr 2011, 00:52

Re: [PHP-Export] Filterproblem im selbst programmierten Wrap

Postby Andreas Rudolph » Tue 31. Mar 2015, 02:51

Hallo Silvio,

sorry dass ich mich noch nicht früher gemeldet habe. Ich bin momentan ziemlich eingespannt und komme daher schlicht nicht dazu, alle Anfragen sofort zu bearbeiten. Ist das beschriebene Problem denn noch aktuell, oder konntest du bereits eine Lösung finden? Wenn ja, kannst du mir mal einen Link zur Veranschaulichung des Problems schicken?

Ullrich wrote:seit Update auf die 1.0beta-34 funktioniert das mit den Filtern leider nicht mehr,...

Das ist schon etwas komisch. Mit dem Update hat sich meines Erachtens eigentlich nichts Relevantes am PHP-Export geändert. Tritt das Problem denn auch auf, wenn du den PHP-Export direkt aufrufst ohne dabei das Wrapper-Skript zu verwenden?
Mit freundlichem Gruß / Yours sincerely
Andreas Rudolph
User avatar
Andreas Rudolph
 
Posts: 3738
Joined: Tue 16. Feb 2010, 21:48
Location: Berlin, Germany


Return to Programmierung

Who is online

Users browsing this forum: No registered users and 1 guest

cron