Ergebnis 1 bis 12 von 12

Thema: Attribute nur ab aktuellem Datum anzeigen lassen

  1. #1
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    194

    Standard Attribute nur ab aktuellem Datum anzeigen lassen

    Hallo,

    ich habe eine Veranstaltungs-Liste in MetaModels umgesetzt.
    Nun möchte ich zwei versch Fälle generieren:

    a) Veranstaltungen ab heute + Zukunft
    b) Veranstaltungen in der Vergangenheit

    Wie stelle ich das am besten an?

    Mein bisheriger Lösungsansatz für a): Filter in den MetaModels mit eigenem SQL:
    Code:
    SELECT * FROM tabellenname WHERE (datum > UNIX_TIMESTAMP() OR TO_DAYS(FROM_UNIXTIME(datum)) = TO_DAYS(NOW()))
    Dieser Filter wird in den Rendereinstellungen zugewiesen.

    Kann mir jemand dabei helfen? Für Variante a) und b)

    Besten Dank

    Mitch

  2. #2
    Contao-Fan Avatar von WilhelmTell
    Registriert seit
    12.12.2014.
    Beiträge
    316

    Standard

    Vielleicht hilft Dir das hier weiter:
    https://community.contao.org/de/show...es-Publizieren

  3. #3
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    194

    Standard

    Danke, da waren ein paar Tipps dabei ;-)
    Letztendlich hab ichs nun so gelöst:

    a) Akt Event + Zukunft
    Code:
    SELECT id FROM {{table}} WHERE datum > UNIX_TIMESTAMP() OR TO_DAYS(FROM_UNIXTIME(sw_datum)) = TO_DAYS(NOW())
    b) Vergangenheit
    Code:
    SELECT id FROM {{table}} WHERE datum < UNIX_TIMESTAMP()

  4. #4
    Contao-Nutzer Avatar von YuriOrlovBtf
    Registriert seit
    14.09.2012.
    Beiträge
    40

    HTML frontendfilter timestamp

    Zitat Zitat von MitchBuchannon Beitrag anzeigen
    Hallo,

    ich habe eine Veranstaltungs-Liste in MetaModels umgesetzt.
    Nun möchte ich zwei versch Fälle generieren:

    a) Veranstaltungen ab heute + Zukunft
    b) Veranstaltungen in der Vergangenheit

    Wie stelle ich das am besten an?

    am besten mit dem enstprechenden Filter:
    https://github.com/HenryLamorski/filter_timestamp
    --
    roadrunner for lightning and strike detonator

  5. #5
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Ich bekomme nach Installation des timestamps Filters beim anlegen des Filters eine monumentale Fehlermeldung:
    Code:
    Fatal error: Uncaught exception ContaoCommunityAlliance\DcGeneral\Exception\DcGeneralRuntimeException with message Execute callback TableMetaModelFilterSetting::attrIdToName failed - Exception message: Class TableMetaModelFilterSetting does not exist thrown in composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/Callback/Callbacks.php on line 75
    
    #0 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/Callback/AbstractReturningCallbackListener.php(44): ContaoCommunityAlliance\DcGeneral\Contao\Callback\Callbacks::callArgs(Array, Array)
    #1 [internal function]: ContaoCommunityAlliance\DcGeneral\Contao\Callback\AbstractReturningCallbackListener->__invoke(Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\DecodePropertyValueForWidgetEvent), 'dc-general.view...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #2 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func(Object(ContaoCommunityAlliance\DcGeneral\Contao\Callback\PropertyOnLoadCallbackListener), Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\DecodePropertyValueForWidgetEvent), 'dc-general.view...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #3 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'dc-general.view...', Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\DecodePropertyValueForWidgetEvent))
    #4 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/ContaoWidgetManager.php(131): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('dc-general.view...', Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\DecodePropertyValueForWidgetEvent))
    #5 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/ContaoWidgetManager.php(462): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\ContaoWidgetManager->decodeValue('attr_id2', '0')
    #6 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/ContaoWidgetManager.php(681): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\ContaoWidgetManager->getWidget('attr_id2', Object(ContaoCommunityAlliance\DcGeneral\Data\PropertyValueBag))
    #7 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/EditMask.php(420): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\ContaoWidgetManager->renderWidget('attr_id2', true, Object(ContaoCommunityAlliance\DcGeneral\Data\PropertyValueBag))
    #8 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/EditMask.php(665): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\EditMask->buildFieldSet(Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\ContaoWidgetManager), Object(ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\Palette), Object(ContaoCommunityAlliance\DcGeneral\Data\PropertyValueBag))
    #9 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/BaseView.php(775): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\EditMask->execute()
    #10 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/BaseView.php(750): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\BaseView->createEditMask(Object(ContaoCommunityAlliance\DcGeneral\Data\DefaultModel), Object(ContaoCommunityAlliance\DcGeneral\Data\DefaultModel), NULL, NULL)
    #11 [internal function]: ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\BaseView->edit(Object(ContaoCommunityAlliance\DcGeneral\Action))
    #12 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/BaseView.php(138): call_user_func_array(Array, Array)
    #13 [internal function]: ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\BaseView->handleAction(Object(ContaoCommunityAlliance\DcGeneral\Event\ActionEvent), 'dc-general.acti...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #14 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func(Array, Object(ContaoCommunityAlliance\DcGeneral\Event\ActionEvent), 'dc-general.acti...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #15 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'dc-general.acti...', Object(ContaoCommunityAlliance\DcGeneral\Event\ActionEvent))
    #16 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Controller/DefaultController.php(115): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('dc-general.acti...', Object(ContaoCommunityAlliance\DcGeneral\Event\ActionEvent))
    #17 composer/vendor/metamodels/core/src/MetaModels/BackendIntegration/Module.php(77): ContaoCommunityAlliance\DcGeneral\Controller\DefaultController->handle(Object(ContaoCommunityAlliance\DcGeneral\Action))
    #18 system/modules/core/classes/Backend.php(406): MetaModels\BackendIntegration\Module->generate()
    #19 system/modules/core/controllers/BackendMain.php(126): Contao\Backend->getBackendModule('metamodels')
    #20 contao/main.php(20): Contao\BackendMain->run()
    #21 {main}
    Gehe ich richtig in der Annahme, dass das der Filter nicht mit Composer zusammen funktioniert oder wo könnte das Problem liegen?

    Viele Grüße,
    Arno

  6. #6
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Ok, ich habe selber noch ein bisschen weiter gebastelt und bin zu der Erkenntnis gekommen, dass dieser Filter einfach keine Kompatibiliät zur aktuellen MM Version hat.
    Schaut man sich die Fehlermeldung noch mal an, dann sieht man ja, dass da per Callback versucht wird eine Klasse "TableMetaModelFilterSetting" anzusprechen. Diese gibt es aber in MM gar nicht mehr, ist deprecated. Ich habe in den DCA-Anweisungen deshalb einfach mal die Callbacks auskommentiert und so kann ich immerhin den Filter konfigurieren, auch wenn ich nicht ganz durchschaue, ob die jetzt fehlenden Callbacks irgendwie wichtig sind oder nicht.
    Im Frontend funktioniert der Datepicker jetzt jedenfalls wie gewünscht, auch wenn ich da in der Widget-Datei noch ein paar Anpassungen machen musste, weil der inzwischen verwendete Datepicker ein anderer ist als der den das Widget erwartet

    Das einzige was jetzt noch bleibt ist eine Fehlermeldung in meiner Filter-Feld-Übersicht:
    Code:
    Warning: call_user_func() expects parameter 1 to be a valid callback, class 'MetaModels\Dca\Filter' not found in composer/vendor/metamodels/core/src/MetaModels/DcGeneral/Events/Table/FilterSetting/Subscriber.php on line 133
    
    #0 [internal function]: __error(2, 'call_user_func(...', '/var/www/htdocs...', 133, Array)
    #1 composer/vendor/metamodels/core/src/MetaModels/DcGeneral/Events/Table/FilterSetting/Subscriber.php(133): call_user_func(Array, Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\ModelToLabelEvent), 'dc-general.view...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #2 [internal function]: MetaModels\DcGeneral\Events\Table\FilterSetting\Subscriber->MetaModels\DcGeneral\Events\Table\FilterSetting\{closure}(Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\ModelToLabelEvent), 'dc-general.view...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #3 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func(Object(Closure), Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\ModelToLabelEvent), 'dc-general.view...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #4 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'dc-general.view...', Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\ModelToLabelEvent))
    #5 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/Subscriber/FormatModelLabelSubscriber.php(88): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('dc-general.view...', Object(ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\ModelToLabelEvent))
    #6 [internal function]: ContaoCommunityAlliance\DcGeneral\Contao\Subscriber\FormatModelLabelSubscriber->handleFormatModelLabel(Object(ContaoCommunityAlliance\DcGeneral\Event\FormatModelLabelEvent), 'dc-general.mode...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #7 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func(Array, Object(ContaoCommunityAlliance\DcGeneral\Event\FormatModelLabelEvent), 'dc-general.mode...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #8 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'dc-general.mode...', Object(ContaoCommunityAlliance\DcGeneral\Event\FormatModelLabelEvent))
    #9 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/TreeView.php(253): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('dc-general.mode...', Object(ContaoCommunityAlliance\DcGeneral\Event\FormatModelLabelEvent))
    #10 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/TreeView.php(317): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreeView->parseModel(Object(ContaoCommunityAlliance\DcGeneral\Data\DefaultModel), 'tl_metamodel_fi...')
    #11 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/TreeView.php(474): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreeView->generateTreeView(Object(ContaoCommunityAlliance\DcGeneral\Data\DefaultCollection), 'tree_xtnd')
    #12 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/TreeView.php(583): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreeView->viewTree(Object(ContaoCommunityAlliance\DcGeneral\Data\DefaultCollection))
    #13 [internal function]: ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreeView->showAll(Object(ContaoCommunityAlliance\DcGeneral\Action))
    #14 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/BaseView.php(138): call_user_func_array(Array, Array)
    #15 [internal function]: ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\BaseView->handleAction(Object(ContaoCommunityAlliance\DcGeneral\Event\ActionEvent), 'dc-general.acti...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #16 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func(Array, Object(ContaoCommunityAlliance\DcGeneral\Event\ActionEvent), 'dc-general.acti...', Object(Symfony\Component\EventDispatcher\EventDispatcher))
    #17 composer/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'dc-general.acti...', Object(ContaoCommunityAlliance\DcGeneral\Event\ActionEvent))
    #18 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Controller/DefaultController.php(115): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('dc-general.acti...', Object(ContaoCommunityAlliance\DcGeneral\Event\ActionEvent))
    #19 composer/vendor/metamodels/core/src/MetaModels/BackendIntegration/Module.php(77): ContaoCommunityAlliance\DcGeneral\Controller\DefaultController->handle(Object(ContaoCommunityAlliance\DcGeneral\Action))
    #20 system/modules/core/classes/Backend.php(406): MetaModels\BackendIntegration\Module->generate()
    #21 system/modules/core/controllers/BackendMain.php(126): Contao\Backend->getBackendModule('metamodels')
    #22 contao/main.php(20): Contao\BackendMain->run()
    #23 {main}
    Der werde ich morgen noch mal nachgehen, aber wenn jemand mir da auch so weiter helfen kann...

  7. #7
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    schmeiß den filter raus und loese es ueber einen sql-filter. [emoji6]

  8. #8
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    SELECT *
    FROM mm_metamodel
    WHERE startdate <= UNIX_TIMESTAMP(NOW()) AND enddate >= UNIX_TIMESTAMP(NOW())

  9. #9
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Schon klar.

    Das nette an dem Filter ist halt, dass er den Datepicker fürs Frontend mitbringt und ja auch ansonsten seinen Dienst tut...

  10. #10
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Arno,
    macht der Filter in der aktuellen Version noch Probleme?
    Hast du ein Ticket dazu erstellt? Wenn nicht, dann bitte nachholen und Verlinken.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  11. #11
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Hallo MacKP,

    ich habe mir die Version von GitHub geholt, die oben verlinkt war. Über den Composer konnte ich den Filter nicht finden. Ob das jetzt die aktuellste Version ist, weiß ich gar nicht genau.
    Dann habe ich halt selber angefangen Sachen zu ändern, um ihn zum Laufen zu bekommen und da sich der Entwickler ja hier im Thread bisher nicht wieder geregt hat bin ich auch noch gar nicht auf die Idee gekommen, ein Ticket zu erstellen. Ich habe das nachgeholt: https://github.com/HenryLamorski/fil...stamp/issues/1

    Arno

  12. #12
    Contao-Nutzer Avatar von YuriOrlovBtf
    Registriert seit
    14.09.2012.
    Beiträge
    40

    Standard

    Hallo,

    der Sprung zur MM Version 2.0 (tng) ist ja gewaltig, da wurde ja kein Stein auf dem anderen gelassen.
    Eine Entwickler-Doku habe ich noch nicht gefunden, also muss ich mich erst einlesen bevor der Filter 2.0/tng-tauglich wird. :/
    --
    roadrunner for lightning and strike detonator

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
  •