Re: [TYPO3-german] eigenes extbase Query im Domain Repository

2017-08-21 Diskussionsfäden Nicolas Puente

Morgen Stephan,

meine Extension ist hier zu finden: 
https://github.com/pontemar/simpleseeuser


Danke


Nicolás




___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Gridelements Erscheinungsbild Data

2017-08-21 Diskussionsfäden Lukas s

Zunächst wäre es ein Bild welches ich für jedes Gridelement im Reiter 
Erscheinungsbild
hinterlegt habe.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] eigenes extbase Query im Domain Repository

2017-08-21 Diskussionsfäden Nicolas Puente

Vilen Dank Stephan,

heute werde ich dein Rat nehmen und meine Extension in in ein Gist

Vielen Dank


Nicolás


___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Gridelements Erscheinungsbild Data

2017-08-21 Diskussionsfäden Lukas s

Zunächst wäre es ein Bild welches ich für jedes Gridelement im Reiter 
Erscheinungsbild
hinterlegt habe.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Gridelements Erscheinungsbild Data

2017-08-21 Diskussionsfäden Christian Hackl

Welche "erscheinungsbild daten"?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


Re: [TYPO3-german] eigenes extbase Query im Domain Repository

2017-08-21 Diskussionsfäden Stephan Schuler
Hallo Nicolas.

Das sieht mir etwas holprig aus, und zwar an mehreren Stellen.

Erstens fehlt mir Dein Model vom Typ UserList, das solltest Du mit 
veröffentlichen, damit wir das Gesamtkunstwerk beurteilen können.

Dann glaube ich nicht, dass Dein Objekt UserList heißen soll, sondern User. 
Immerhin liest Du aus der Tabelle fe_users, und eine Zeile daraus ist ja nicht 
eine Liste an Benutzern, sondern ein einziger Benutzer.

Weiterhin solltest Du von den zugehörigen TYPO3-Basisklassen ableiten:
• \TYPO3\CMS\Extbase\Domain\Model\FrontendUser
• \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository

Bis hier hin ist alles optional. Du solltest das zwar trotzdem ändern, weil Du 
Dir sonst das Leben sehr schwer machst, wenn es darum geht, Deinen Code mit 
einer beliebigen Anfänger-Dokumentation zu vergleichen. Aber streng genommen 
kannst Du den Teil auch bleiben lassen, wenn Du weißt was Du tust.

Ab hier dann der Teil von dem ich glaube, dass er aktuell dein Problem 
darstellt.

Wenn Du dem Objekt weitere Properties gibst, kannst Du entweder die 
Schreibweise der Datenbankspalte mit der Schreibweise der Objekt-Property 
identisch halten. Dann sollte die Zuordnung autoamtisch funtionieren. 
Allerdings läufst Du Gefahr, dass Du einen Namen verwendest, den auch andere 
verwenden, oder durch ein Update vom Core verwendet wird. Sagen wir $mobile für 
die Handynummer. Niemand garantiert Dir, dass Du den Namen für Dich hast und 
dass das nicht in einem halben Jahr vom Core geliefert wird, oder von einer 
anderen Extension die Du einsetzt.
Alternativ kannst Du die Datenbankspalten mit Deinem Extension-Key prefixen, 
sie also nicht „mobile“ sondern „deinextensionkey_mobile“ nennen. Wenn Du in 
Deinem Extbase-Model trotzdem die Property $mobile haben möchtest und nicht 
$deinextensionkeyMobile, funtioniert die Zuordnung nicht automatisch, sondern 
Du musst sie per TypoScript konfigurieren.

Welche Variante davon Du verwendet hast und was nicht kann ich nicht 
beurteilen, weil Du weder deine Modelklasse noch Dein TCA noch Dein SQL 
veröffentlich hast.

https://docs.typo3.org/typo3cms/ExtbaseFluidBook/6-Persistence/4-use-foreign-data-sources.html
So etwa sollte man das konfigurieren, ich spreche von „columns“.

Dann wäre es ganz super, wenn Dein Repository einfach wüsste, mit welcher 
Datenbanktabelle es umgehen soll und welches Objekt es daraus erzeugen soll. 
Hierzu dient dann der übrige Teil des Links den ich gerade geschrieben habe. 
Hauptsächlich spreche ich von „MyVendor\MyExtension\Domain\Model\Person“, also 
dem Klassennamen, und „tableName = tt_address“, also der Zuordnung, dass diese 
Model-Klasse in dieser Tabelle zu finden ist.
Wenn Du diesen Teil weglässt, geht Extbase davon aus, dass der Klassenname des 
Models auf den Tabellennamen abgebildet wird und anders herum. Das ist bei 
„fe_users“ natürlich nicht der Fall, also brauchst Du das Setting.

Anstelle von „plugin.tx_myextesnion“ kannst Du auch „plugin.tx_extbase“ 
verwenden, dann gilt dieses Setting global für alle Extensions.

Nun steht da noch ein „recordType = \MyVendor\MyExtension\Domain\Model\Person“. 
Das ist ebenfalls wichtig, weil der „fe_user“ in mehreren Types daherkommt. Der 
Type steht in einer bestimmten Spalte in der Datenbank und gibt an, welche 
Klasse verwendet werden muss, wenn das Objekt aus der Datenbank gelesen wird.

Als letzten Punkt solltest Du das SQL-Statement vermeiden wo es nur geht. Du 
machst Dir nur das Leben schwer, und Du verzichtest auf ein paar Dinge von 
denen jegliche Doku ausgeht, dass Du Dich darauf eigentlich verlassen kannst.
Ein super Beispiel ist Dein „setRespectStoragePid“. Das hat natürlich überhaupt 
keine Auswirkung, wenn Du das Statement als SQL-String vorgibst.
Ein zweites super Beispiel ist Deine Einschränkung auf die usergroup. Sollten 
Deine Frontend-Benutzergruppen mal auf 50 und mehr anwachsen, sind die Gruppen 
50 bis 59 alle in Deinem Like-Query enthalten.

Was Du eigentlich haben möchtest, ist:
> $query = $this->createQuery();
> return $query->matching($query->in(‘usergroup’, 5))->execute();

Noch schöner wäre, wenn hier nicht “5” stehen würde, sondern ein Objekt vom Typ 
FrontendUserGroup. Insbesondere wenn das ggf. ein Wert ist den Du per GET- oder 
POST-Parameter übergeben bekommst, willst Du ihn auf jeden Fall vom 
PropertyMapper in ein Objekt verwandeln lassen anstelle des Integers.

Das Ordering kannst Du entweder auch dem Query mitgeben, oder aber Du setzt das 
Ordering als DefaultQuerySetting im Repository, dann sind Deine Models immer 
nach Name sortiert.

P.S.: Wenn Du viel Code teilen möchtest, solltest Du Dir überlegen, ob Du nicht 
lieber ein Gist verlinken willst anstatt hier inline einen Code in die Mail zu 
packen. Im Idealfall packst Du Deine komplette Extension in ein Gist. Nachdem 
wir das außerhalb dieser Diskussion nicht weiter brauchen, kann das gerne 
anonym sein. Solange Du nur nicht hier 1000 Zeilen Code inline einbindest oder 
anfängst, 10 Dateien anzuhängen.

Beste 

[TYPO3-german] Sessionvariable in [globalVar]

2017-08-21 Diskussionsfäden Roman Lensing

Hallo zusammen,

ich habe das Problem, dass [globalVar = session:recs|ts|name = rebate] auf 
false evaluiert wird, auch wenn
page.5 = TEXT
page.5.data = session:recs|ts|name
im Frontend "rebate" ausgibt.

TYPO3 Version ist 8.7.
Weiß jemand, was ich falsch mache?

Danke schonmal im Voraus.

Roman Lensing
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Gridelements Erscheinungsbild Data

2017-08-21 Diskussionsfäden Lukas s

Guten Tag,

gerade stehe ich vor dem Problem ich müsste in meinen einzelnen Gridelements
die Erscheinungsbild Dateien per Typoscript an mein Fluides Template übergeben.

Hier mein bisheriges TypoScript :

# grid config begin
tt_content.gridelements_pi1.20.10.setup {
   # ID des Gridelements
   4 < lib.gridelements.defaultGridSetup
   4 {
   # FLUIDTEMPLATE konfigurieren
   cObject = FLUIDTEMPLATE
   cObject {
   file = fileadmin/template/gridelements/grid-6.html
   }
   }
}
# grid config end

Hat jemand ein Codebeispiel?

MIt freundlichen Grüßen
Lukaschel

___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] eigenes extbase Query im Domain Repository

2017-08-21 Diskussionsfäden Nicolas Puente

Morgen,

ich habe die sr_feuser_register durch eine eigene Extension mit mehrere 
Felder zu erweitern.


Die neue Felder erscheinen in die Datenbanktabelle und sind auch 
sichtbar in Backend.


Dann habe ich eine neue Extension simpleseeuser geschrieben um 
verschiedene liste von User zeigen.


Aber in die Repository sidn die neue Felder ignoriert

UserlistController:

public function listAction() {
$action = $this->request->getControllerActionName();
// 
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($action, 'action');


$userlists = $this->userlistRepository->findUser($theKat);
//\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($userlists, 
'userlists');


$this->view->assign('userlists', $userlists);
//\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($userlists, 
'userlists');

}

Repository:

/**
 * The repository for Userlists
 */
class UserlistRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {

/**
 * findUser
 * @param $theKat
 * @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
*/
public function findUser($theKat){
// Create query object
$query = $this->createQuery();

$query->getQuerySettings()->setRespectStoragePage(TRUE);

// Set plain SQL statement
$sql = 'SELECT uid, usergroup, title, name, addridpub,
address, zip, city, country, contacttelpub,
telephone, handy, contactmailpub, email, linkpub,
www, image
from fe_users
WHERE usergroup like("%5%") ORDER BY name ';

$query->statement($sql);

// Execute query
return $query->execute();
}

}

Die Felder contacttelpub, contactmailpub, linkpub, sind ignoriert, den 
Rest wird angezeigt.



Was mache ich Falsch?


Vielen Dank


Nicolas



___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


Re: [TYPO3-german] gridelements Extension Problem

2017-08-21 Diskussionsfäden Lukas s

habs rausgefunden warum es nicht kam, ich hatte in den Einstellungen für 
statische Templates das gridelements Objekt
in der Reihenfolge vor dem Fluid Objekt als ich das getauscht habe gings
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german