Update:
Habe das Ganze jetzt nicht gerade perfekt gelöst (erstelle automatisch ein Kundenaliasfeld und nutze dieses für die Überprüfung)
PHP-Code:
<?php
$objMetaModel = MetaModelFactory::byTableName('mm_projekt2');
$objFilter = $objMetaModel->getEmptyFilter();
$objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('kundenalias'), $arrItem['raw']['kunde']['alias'], $objMetaModel->getAvailableLanguages()));
$objItems = $objMetaModel->findByFilter($objFilter);
?>
Wenn ich nun <?php var_dump($objItems); ?> im Template eingebe, werden 2 von 3 Datensätze aufgelistet. Genau die, die mit dem Kundenalias übereinstimmen.
Sobald ich
PHP-Code:
<?php echo $objItems->getItem()->get('XYZ'); ?>
eingebe, wird aber nur 1 Datensatz angezeigt. Wie kann ich die gesamten Datensätze auflisten? Kann mir da jemand einen Tipp geben?
Update 2:
Mache dann mal weiter mit meinem Selbstgespräch...
Habe es jetzt wie folgt gelöst, vllt. kann es ja jemand gebrauchen...
Falls jemand eine bessere Idee hat nur heraus damit... ich hab eigentlich Null Ahnung von PHP.
PHP-Code:
<?php foreach($objItems AS $name): ?>
<?php echo $name->get('title').$name->get('teaser')."<a href=/details/".$name->get('alias').".html>Details</a><br/>"; ?>
<?php endforeach; ?>
Damit kann man jetzt einfach die verknüpften Datensätze anzeigen.
Das einzige was jetzt noch fehlt, ist die Sortierung nach einem EAN-CODE und das automatische Ausblenden wenn ein angegebenes Datum vorüber ist !!
Zurzeit sortiert er nach der ID von Projekt2 und zeigt auch alle Daten an. Hat jemand einen Vorschlag?
Update 3:
Um die Sortierung zu verändern muss man folgende Werte einstellen
PHP-Code:
$objItems = $objMetaModel->findByFilter($objFilter, $strSortBy = 'EAN-CODE');
Nähere Informationen: https://github.com/MetaModels/core/b...IMetaModel.php
Jetzt fehlt mir nur noch die Ausblendung bei vergangenen Datum...
Im FE Filter geht dies ja durch
PHP-Code:
SELECT id FROM {{table}} WHERE enddatum >= UNIX_TIMESTAMP(CURDATE());
doch diese Filter scheinen dabei nicht zu greifen.
Jetzt bin ich wirklich auf Hilfe angewiesen...
Update 4:
Das mit dem Datum-Filtern hat jetzt irgendwie auch funktioniert.
Ein PHP-Nerd bekommt dabei wahrscheinlich Schweißausbrüche, aber er darf gerne ein paar Tipps einbringen, ist ja auch der Sinn einer Community
denn wer stirbt schon gern dumm...
Für alle Anderen, die so wie ich nur rudimentäre oder gar keine Programmiererfahrung haben,
aber vllt. an einem ähnlichen Problem nagen, hier nochmals meinen kompletter Workaround:.
PHP-Code:
<?php
$objMetaModel = MetaModelFactory::byTableName('mm_projekt2');
$objFilter = $objMetaModel->getEmptyFilter();
$objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('kundenalias'), $arrItem['raw']['projekt1verknüpfung']['kundenalias'], $objMetaModel->getAvailableLanguages()));
$objItems = $objMetaModel->findByFilter($objFilter, $strSortBy = 'EAN-CODE');
?>
PHP-Code:
<?php foreach($objItems AS $name): ?>
<?php $tmpstamp = $name->get('enddatum'); $datum = date("d.m.y",$tmpstamp); ?>
<?php if ($datum >= date("d.m.y")): ?>
<?php echo $name->get('title').$name->get('EAN-CODE').$name->get('teaser')." "."<a href=/details/".$name->get('alias').".html>Details</a><br/>"; ?>
<?php endif; ?>
<?php endforeach; ?>
Herzlich Dank an andreasisaak für den gelieferten Programmcode für die Verknüpfung von Tabellen
Genialer wäre es natürlich wenn es eine automatische Lösung direkt durch MetaModels geben würde.