[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Rexhändler anpassung - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Rexhändler anpassung

21. Okt 2010, 11:13

Hallo Allemal,

Ich wollte mal wissen, ob es möglich ist im Rexhändler bei der Ausgabe der Branchen die ganzen Händler zuerst als (sortierte)Liste auszugeben, und erst bei einem Klick auf den Namen/Link die weiteren Angaben (Adresse, Webseite, etc) anzeigen zu lassen.

Ich habe zwar das Addon an meine Wünsche angepasst bekommen, aber hier fehlt mir der nötige Durchblick oder Know-How.

Anbei das entsprechende Modul das benutzt wird:

Eingabe:

Code: Alles auswählen

<h1>REXh&auml;ndler</h1>

<h2>Branchen anzeigen:</h2>
<p>(Mit STRG/Apple Taste mehrere Branchen ausw&auml;hlen)</p>
<input name="VALUE[3]" type="hidden" value="REX_VALUE[3]" class="inp100" id="rexvalue3" />
<select size="10" style="width:250px;" multiple="multiple" onchange="multiUpdateList(3)" id="rexvalueselect3">
<?php
	$sql = new rex_sql;
	$selled = explode(',',"REX_VALUE[3]");
	print_r($selled);
	$sql->setQuery('SELECT * FROM '.$REX['TABLE_PREFIX'].'290_branchen');
	for ($i=0;$i<$sql->getRows();$i++)
	{	if (in_array($sql->getValue('id'),$selled))
		{	$sel=' selected="selected"';
		}
		else
		{	$sel='';
		}
		echo '<option value="'.$sql->getValue('id').'"'.$sel.'>'.$sql->getValue('haendler_branche').'</option>';
		$sql->next();
	}

?>
</select>

<script type="text/javascript">
function multiUpdateList(id)
{
  var medialist = 'rexvalue'+id;
  var mediaselect = 'rexvalueselect'+id;
  
  var source = document.getElementById(mediaselect);
  var sourcelength = source.options.length;

  var target = document.getElementById(medialist);
  target.value = "";
  
	for (var i=0; i < source.options.length;i++)
	{	if (source.options[i].selected)
		{	if (target.value!="")
			{	target.value+=",";
			}
			target.value+=source.options[i].value;
		}
	}  
}
</script>
Ausgabe:

Code: Alles auswählen

<?php
    # REXh�ndler 0.2, Dave Holloway. GN2-Netwerk.de
    ######################################################
    
    
    # query db
    $sql = new rex_sql;
    $query = 'SELECT * FROM '.$REX['TABLE_PREFIX'].'290_haendler WHERE ( haendler_status=1';
    
    $key=0;
    if (array_key_exists('r290_haendler',$_GET))
    {    $key = intVal($_GET['r290_haendler']);
        if ($key > 0)
        {    $query .= ' && r_haendler_branche='.$key;
        }
    }
    
    $branchen = explode(',',"REX_VALUE[3]");
    foreach ($branchen as $k=>$v)
    {    if ($v=="")
        {    unset($branchen[$k]);
        }
    }
    if (count($branchen)>0)
    {    $query .= ' && r_haendler_branche IN (REX_VALUE[3])';
    }
    
    
    
    $plz = "";
    if (array_key_exists('r290_plz',$_GET))
    {    $plz = intVal($_GET['r290_plz']);
    
    }
    if ($plz!='')
    {    $query .= ' && haendler_plz LIKE "'.$plz.'%" '; 
    }
    if ($plz===0)
    {    $plz="";
    }
    
    
    $query .=') ORDER BY haendler_plz,haendler_name ASC';

    $sql->setQuery($query);

        
    echo '<div class="r290">';
    echo '<form action="'.rex_getUrl($this->article_id,$this->clang).'" method="get">';
    echo '<input name="article_id" class="hidden" type="hidden" value="'.$this->article_id.'" />';
    echo '<input name="clang" class="hidden" type="hidden" value="'.$this->clang.'" />';
    
    if (count($branchen)==0)
    {    echo '<label for="r290selector">Branche:</label>';
        echo '<select id="r290selector" name="r290_haendler">';
        echo '<option value="0">Alle</option>';
        
        
        $csql = new rex_sql;
        $cquery = 'SELECT * FROM '.$REX['TABLE_PREFIX'].'290_branchen ORDER BY haendler_branche ASC';
        $csql->setQuery($cquery);
        for ($i=0;$i<$csql->getRows();$i++)
        {    if ($key==$csql->getValue('id'))
            {    $sel=' selected="selected"';
            }
            else
            {    $sel='';
            }
            echo '<option value="'.$csql->getValue('id').'"'.$sel.'>'.$csql->getValue('haendler_branche').'</option>';
            echo $csql->next();
        }
        
        echo '</select><br />';
    }
    
    echo '<label for="r290plz">PLZ:</label>';
    echo '<input type="text" id="r290_plz" name="r290_plz" value="'.$plz.'">';
        
    
    echo '<input type="submit" class="submit" value="Anzeigen" />';
    
    echo '<table class="r290table">';
    echo '<tr>';
    echo '<th class="r290Haendler">H&auml;ndler</th>';
    echo '<th class="r290Abteilung">Abteilung</th>';
    echo '<th class="r290Adresse">Adresse</th>';
    //echo '<th class="r290PLZ">PLZ</th>';
    //echo '<th class="r290Stadt">Stadt</th>';
    //echo '<th class="r290Land">Land</th>';
    echo '<th class="r290Kontakt">Kontaktdaten</th>';
    echo '<th class="r290Sonstiges">Sonstiges</th>';
    echo '</tr>';
    
    
    if ($sql->getRows()>0)
    {    $tex = new Textile();    
        for ($i=0;$i<$sql->getRows();$i++)
        {    
            echo '<tr>';        
                //name + zusatz
                echo '<td>';
                echo $sql->getValue('haendler_name');
                if ($sql->getValue('haendler_name_zusatz')!="")
                {    echo ' ('.$sql->getValue('haendler_name_zusatz').')';
                }
                echo '</td>';
                
                // abteilung
                echo '<td>'.$sql->getValue('haendler_abteilung').'</td>';
            
                
                echo '<td>';
                $adresse = $sql->getValue('haendler_strasse')."\n".$sql->getValue('haendler_plz')." ";
                $adresse .= $sql->getValue('haendler_stadt')."\n".$sql->getValue('haendler_land');
                $adresse = explode("\n",$adresse);
                
                for ($j=0;$j<count($adresse);$j++)
                {    echo trim($adresse[$j]);    
                    if ($j<count($adresse))
                    {    echo '<br />';
                    }
                }
                
                echo '</td>';
                

                echo '<td>';
                if ($sql->getValue('haendler_telefon')!="")
                {    echo '<h3>Tel:</h3>'.$sql->getValue('haendler_telefon');
                }
                if ($sql->getValue('haendler_fax')!="")
                {    echo '<h3>Fax:</h3>'.$sql->getValue('haendler_fax');
                }
                if ($sql->getValue('haendler_email')!="")
                {    echo '<h3>E-Mail:</h3>'.'<a href="mailto:'.$sql->getValue('haendler_email').'">'.$sql->getValue('haendler_email').'</a>';
                }
                if ($sql->getValue('haendler_homepage')!="")
                {    echo '<h3>WWW:</h3>'.'<a href="'.$sql->getValue('haendler_homepage').'">'.$sql->getValue('haendler_homepage').'</a>';
                }
                echo '</td>';
                
                // sonstiges
                echo '<td>';
                echo $tex->TextileThis($sql->getValue('haendler_sonstiges'));
                echo '</td>';
            
            echo '</tr>';
            
            $sql->next(); 
        }
    
    }

    else //no entries found
    {    echo '<tr><td colspan="5">Keine H&auml;ndler gefunden.</td></tr>';
    }
    
    echo '</table>';
    echo '</form>';
    echo '</div>';    
    
    
    
    
    
    
?>

nik
Beiträge: 112
Registriert: 9. Dez 2008, 21:17

27. Okt 2010, 19:34

Rexhändler oder Linkhander? Sorry :lol:

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Rexhändler

28. Okt 2010, 08:17

nik hat geschrieben:Rexhändler oder Linkhander? Sorry :lol:
Definitiv Rexhändler! :wink:

Aber das Problem hat sich eigentlich schon durch andere Art & Weise gelöst. Es scheint ja auch keiner wirklich dieses Modul zu nutzen.

Zurück zu „Allgemeines [R4]“