29. 12. 2017, 09:21

Hallo Forum, ich bin ratlos.
Einigermaßen problemlos bin ich in Patrick Lobachers Buch (2. Auflage) bis Seite 224 gekommen (es gab kleinere Unstimmigkeiten, die ich sammle und wenn ich mit dem Buch durch bin weitergeben werde), aber jetzt hänge ich komplett. Der PropertyViewHelper wird einfach nicht erkannt!
Problem: #1289386765: Could not analyse class: "Pluswerk\Simpleblog\Viewhelpers\PropertyViewHelper" maybe not loaded or no autoloader? Class Pluswerk\Simpleblog\Viewhelpers\PropertyViewHelper does not exist
* Schreibweisen usw. habe ich gecheckt, sind genau wie im Buch (konnte ich nicht kopieren, da der Viewhelper von Seite 225 in den online Sourcen fehlt)
* Ext. deinstallieren, alle Caches im Install Tool löschen, wieder installieren -> Problem bleibt
* typo3temp komplett löschen und neu anlegen -> Problem bleibt
So sieht mein PropertyViewHelper.php aus:
<?php
namespace Pluswerk\Simpleblog\ViewHelpers;
class PropertyViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper
{
/**
* @param string $propertyName
* @param mixed $object
* @return mixed
*/
public function render($propertyName, $subject = NULL)
{
if ($subject === NULL){
$subject = $this->renderChildren();
}
return \TYPO3\CMS\Extbase\Reflection\ObjectAccess::getPropertyPath($subject, $propertyName);
}
}

Wäre sehr dankbar für eine Idee! Ich würde das Übungsbeispiel wirklich gerne komplett durchkriegen!
Danke...

Aktualisierung am 8.1.17: Ich habe die Lösung gefunden. Der Namespace Import im html-file ErrorMessage.html fehlt; ebenso der korrekte Aufruf des Viewhelpers:

{namespace my=Pluswerk\Simpleblog\ViewHelpers}
<f:form.validationResults for="blog">
<f:if condition="{my:property(subject:'{validationResults.flattenedErrors}', propertyName: '{property}')}">{message}</f:if>
</f:form.validationResults>

Ich habe den namespace testhalber "my" genannt, natürlich geht auch jeder andere Name.
Dieses Kapitel in dem Buch ist etwas schlampig geschrieben und erfordert Zusatzrecherchen...