Contao-Camp 2024
Seite 2 von 2 ErsteErste 12
Ergebnis 41 bis 45 von 45

Thema: [catalogcountryselectfield] Länderauswahl-Feld für den Katalog

  1. #41
    Contao-Fan
    Registriert seit
    13.08.2010.
    Beiträge
    304

    Standard

    Hallo Jan,

    das geht ohne weiteres. Hier haben wir´s umgesetzt: http://goo.gl/6cBuA

    Datenbank:
    datenbank.JPG

    Katalogfeld:
    katalogfeld.jpg

    Modul:
    modul.jpg

    Modul-Template (kannst aber glaube ich das Standard-Template verwenden:
    PHP-Code:
    /***
     * Filter Option
     */
    if ($this->filterOptions): ?>
    <div class="filter_group">

    <?php if ($this->filter_headline): ?>
    <<?php echo $this->filter_hl?>><?php echo $this->filter_headline?></<?php echo $this->filter_hl?>>
    <?php endif; ?>

    <?php foreach($this->widgets['filter'] as $filterWidget): ?>
    <div class="widget <?php echo $filterWidget['id']; ?>">

    <?php if ($filterWidget['inputType'] == 'select'): ?>

    <select class="<?php echo ($filterWidget['multiple'] ? 'multiselect' 'select'); ?>" id="ctrl_<?php echo $filterWidget['id']; ?>"<?php echo ($filterWidget['multiple'] ? ' multiple="multiple"' ''); ?> <?php echo $filterWidget['attributes']; ?> name="<?php echo ($filterWidget['multiple'] ? $filterWidget['name'].'[]' $filterWidget['name']); ?>">
    <?php $i 0; foreach(deserialize($filterWidget['options']) as $filterOption): ?>
    <option <?php if ($filterOption['selected']) echo 'selected="selected" '?>value="<?php echo $filterOption['value']; ?>"><?php echo ($i==sprintf($GLOBALS['TL_LANG']['MSC']['clearAll'], $filterWidget['label']) : $filterOption['label']); ?></option>
    <?php $i++; endforeach; ?>
    </select>

    <?php elseif (($filterWidget['inputType'] == 'radio') || ($filterWidget['inputType'] == 'checkbox')): ?>

    <div id="ctrl_<?php echo $filterWidget['id']; ?>" class="radio_container">
    <?php foreach(deserialize($filterWidget['options']) as $filterOption): ?>
    <span><input id="opt_<?php echo $filterWidget['id']; ?>_<?php echo $filterOption['id']; ?><?php echo $filterWidget['attributes']; ?><?php if ($filterOption['selected']) echo ' checked="checked" '?> <?php echo ($filterWidget['multiple'] ? 'class="checkbox" type="checkbox"' 'class="radio" type="radio"'); ?> name="<?php echo ($filterWidget['multiple'] ? $filterWidget['name'].'[]' $filterWidget['name']); ?>" value="<?php echo $filterOption['value']; ?>" /><label for="opt_<?php echo $filterWidget['id']; ?>_<?php echo $filterOption['id']; ?>"><?php echo $filterOption['label']; ?></label></span>
    <?php endforeach; ?>
    </div>

    <?php elseif ($filterWidget['inputType'] == 'list'): ?>

    <ul class="list">
    <?php $i 0; foreach(deserialize($filterWidget['options']) as $filterOption): ?>
    <li class="option <?php echo ($i=='list_none' 'list_id-'.$filterOption['id']); ?><?php if ($filterOption['selected']) echo ' active'?>"><a href="<?php echo $filterOption['value']; ?>" title="<?php echo $filterOption['label']; ?>"><?php echo $filterOption['label']; ?><?php if($i>0): ?> (<?php echo $filterOption['resultcount']; ?>)<?php endif; ?></a></li>
    <?php $i++; endforeach; ?>
    </ul>

    <?php endif; ?>

    </div>
    <?php endforeach; ?>

    </div>
    <?php endif; ?>

    <?php
    Viele Grüße, TN

  2. #42
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von kenter-k Beitrag anzeigen
    Hey Tim,
    diese Liste ist echt praktisch. Das mit der Mehrsprachigkeit hab ich zwar auch noch nicht gerafft, aber anders gelöst.
    Wo ich noch hilfe bräuchte ist in der suchbarkeit. Deinen Hack für das Filtern habe ich erfolgreich eingebaut.
    Nun möchte ich meinen Katalog gern auch nach Ländern durchsuchen können. Geht das?

    Danke
    Jan
    Der Katalog nutzt glaube ich eh eine exakte Suche. Das sollte eigentlich ohne Weiteres gehen. Wenn jemand Deutschland sucht, sollte (wenn lange Ländernamen aktiv) auch nur Deutschland kommen.

    Tim
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  3. #43
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von NoName26 Beitrag anzeigen
    Hallo Jan,

    das geht ohne weiteres. Hier haben wir´s umgesetzt: http://goo.gl/6cBuA

    Datenbank:
    datenbank.JPG

    Katalogfeld:
    katalogfeld.jpg

    Modul:
    modul.jpg

    Modul-Template (kannst aber glaube ich das Standard-Template verwenden:
    PHP-Code:
    /***
     * Filter Option
     */
    if ($this->filterOptions): ?>
    <div class="filter_group">

    <?php if ($this->filter_headline): ?>
    <<?php echo $this->filter_hl?>><?php echo $this->filter_headline?></<?php echo $this->filter_hl?>>
    <?php endif; ?>

    <?php foreach($this->widgets['filter'] as $filterWidget): ?>
    <div class="widget <?php echo $filterWidget['id']; ?>">

    <?php if ($filterWidget['inputType'] == 'select'): ?>

    <select class="<?php echo ($filterWidget['multiple'] ? 'multiselect' 'select'); ?>" id="ctrl_<?php echo $filterWidget['id']; ?>"<?php echo ($filterWidget['multiple'] ? ' multiple="multiple"' ''); ?> <?php echo $filterWidget['attributes']; ?> name="<?php echo ($filterWidget['multiple'] ? $filterWidget['name'].'[]' $filterWidget['name']); ?>">
    <?php $i 0; foreach(deserialize($filterWidget['options']) as $filterOption): ?>
    <option <?php if ($filterOption['selected']) echo 'selected="selected" '?>value="<?php echo $filterOption['value']; ?>"><?php echo ($i==sprintf($GLOBALS['TL_LANG']['MSC']['clearAll'], $filterWidget['label']) : $filterOption['label']); ?></option>
    <?php $i++; endforeach; ?>
    </select>

    <?php elseif (($filterWidget['inputType'] == 'radio') || ($filterWidget['inputType'] == 'checkbox')): ?>

    <div id="ctrl_<?php echo $filterWidget['id']; ?>" class="radio_container">
    <?php foreach(deserialize($filterWidget['options']) as $filterOption): ?>
    <span><input id="opt_<?php echo $filterWidget['id']; ?>_<?php echo $filterOption['id']; ?><?php echo $filterWidget['attributes']; ?><?php if ($filterOption['selected']) echo ' checked="checked" '?> <?php echo ($filterWidget['multiple'] ? 'class="checkbox" type="checkbox"' 'class="radio" type="radio"'); ?> name="<?php echo ($filterWidget['multiple'] ? $filterWidget['name'].'[]' $filterWidget['name']); ?>" value="<?php echo $filterOption['value']; ?>" /><label for="opt_<?php echo $filterWidget['id']; ?>_<?php echo $filterOption['id']; ?>"><?php echo $filterOption['label']; ?></label></span>
    <?php endforeach; ?>
    </div>

    <?php elseif ($filterWidget['inputType'] == 'list'): ?>

    <ul class="list">
    <?php $i 0; foreach(deserialize($filterWidget['options']) as $filterOption): ?>
    <li class="option <?php echo ($i=='list_none' 'list_id-'.$filterOption['id']); ?><?php if ($filterOption['selected']) echo ' active'?>"><a href="<?php echo $filterOption['value']; ?>" title="<?php echo $filterOption['label']; ?>"><?php echo $filterOption['label']; ?><?php if($i>0): ?> (<?php echo $filterOption['resultcount']; ?>)<?php endif; ?></a></li>
    <?php $i++; endforeach; ?>
    </ul>

    <?php endif; ?>

    </div>
    <?php endforeach; ?>

    </div>
    <?php endif; ?>

    <?php
    Ohne das countryselectfield selbst, mit einer taxonomy Auswahl für die Länder, geht das natürlich auch.

    Dank und Gruß
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  4. #44
    Contao-Nutzer Avatar von mr_flory
    Registriert seit
    16.08.2009.
    Ort
    München
    Beiträge
    13

    Standard

    Hallo,

    funktioniert bei irgendwem der Filter im Frontend? Die Länder in der Filterliste werden korrekt ausgegeben aber die Einträge werden nicht gefiltert. Contao 2.11.5, catalog 2.0.0 beta2, catalogcountryselectfield 1.0.1 beta1.

    EDIT: Sorry mit aktueller Version vom catalog aus dem SVN gehts.

    Nun hab ich das Problem, dass ich das Feld nicht in der Katalog-Navigation auswählen kann, da es kein "richtiges" select Feld ist. Gibt es dafür eine Lösung? (Katalog-Filter kommt leider nicht in Frage, da immer alle Einträge angezeigt werden sollen.)

    Danke für jegliche Hilfe.
    Florian
    Geändert von mr_flory (09.09.2012 um 20:33 Uhr)

  5. #45
    Contao-Fan Avatar von izanagi
    Registriert seit
    19.01.2011.
    Ort
    Köln
    Beiträge
    595

    Standard

    Hat von euch jemand diese Fehlermeldung bekommen ?

    <strong>Runtime notice</strong>: Declaration of CatalogCountrySelectFieldHelper::getAliasFieldConf () should be compatible with ModuleCatalog::getAliasFieldConf(array $arrFieldConf) in <strong>…/system/modules/catalogcountryselectfield/CatalogCountrySelectFieldHelper.php</strong> on line <strong>307</strong>
    <pre style="margin:11px 0 0">
    #0 …/system/functions.php(54): __error(2048, 'Declaration of ...', '/var/customers/...', 307, Array)
    #1 …/system/functions.php(54): __autoload()
    #2 …/system/modules/catalogcountryselectfield/CatalogCountrySelectFieldFilter.php(65): __autoload('CatalogCountryS...')
    #3 …/system/modules/catalog/ModuleCatalog.php(2209): CatalogCountrySelectFieldFilter->generateFilterForFieldHook(Array, 'land', Array, Array, Array, Array, Array, Object(ModuleCatalogFilter))
    #4 …/system/modules/catalog/ModuleCatalog.php(1680): ModuleCatalog->generateFilterForFieldHook('land', 'countryselect', Array, Array, Array, Array, Array)
    #5 …/system/modules/catalog/ModuleCatalogFilter.php(83): ModuleCatalog->generateFilter()
    #6 …/system/modules/frontend/Module.php(140): ModuleCatalogFilter->compile()
    #7 …/system/modules/catalog/ModuleCatalog.php(164): Module->generate()
    #8 …/system/modules/catalog/ModuleCatalogFilter.php(73): ModuleCatalog->generate()
    #9 …/system/modules/frontend/ContentModule.php(72): ModuleCatalogFilter->generate()
    #10 …/system/libraries/Controller.php(511): ContentModule->generate()
    #11 …/system/modules/frontend/ModuleArticle.php(194): Controller->getContentElement('354')
    #12 …/system/modules/frontend/Module.php(140): ModuleArticle->compile()
    #13 …/system/modules/frontend/ModuleArticle.php(71): Module->generate()
    #14 …/system/libraries/Controller.php(443): ModuleArticle->generate(false)
    #15 …/system/libraries/Controller.php(307): Controller->getArticle('32', false, false, 'main')
    #16 …/system/modules/frontend/PageRegular.php(100): Controller->getFrontendModule('0', 'main')
    #17 …/index.php(266): PageRegular->generate(Object(DB_Mysql_Result))
    #18 …/index.php(401): Index->run()
    #19 {main}
    Ich habe einen Filter der nach Land, PLZ und Ort Sortiert. Zusammen mit einem Listener.
    Auf meinem Test Webhosting funktioniert es, aber auf dem managed Server vom Kunden nicht :/
    Ich habe sowieso ne menge Probleme mit Contao und dem Server, weil der erstmal vom Techniker korrekt eingestellt werden muss.
    MemoryLimit war zu niedrig, ModRewrite war nicht aktiv, SMH wollt er haben etc. etc.
    Jetzt haben wir PHP 5.4.4 geupdated und FastCGI und endlich läuft Contao.
    Aber der Filter spuckt leider diese Meldung oben aus. Was könnte hier im Zusammenhang mit der PHP Konfig sein ??

    Danke euch.
    Erweiterungen [district_settings] [district_cloud3d] [district_rating]
    Design,Web,Videos und Games - mediadistrict.de

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
  •