[TYPO3-german] extase tt_address
Christian Tauscher
christian.tauscher at media-distillery.de
Fri Mar 27 12:44:27 CET 2015
Am 25.03.2015 um 09:21 schrieb Mikel:
> Ein Underscore im Namen des Properties spricht eigentlich gegen die
> Namenskonvention von Extbase
Der Tipp war ganz Hilfreich.
Und ich bekomm sogar einen Output.
Ich hab dann mal weiter dran rumgeschraubt und es klappt ganz gut.
Aber irgendwas sagte mir: Das ist irgendein chache der dir was vorgaukelt...
Also erst mal das TYPOscript das Tabel-Mapping übernimmt rausgelöscht.
-> FE verreckt, OK
TYPOScript wieder rein, aber jetz mal
config.tx_extbase.persistence.classes.Tmd\Screenprinting\Domain\Model\Address.mapping.columns.firstName
= first_Name
getauscht gegen
config.tx_extbase.persistence.classes.Tmd\Screenprinting\Domain\Model\Address.mapping.columns.firstName
= city
Erwartet wird also das statt dem vorname die Stadt ausgegeben wird.
Da steht aber noch immer der Vorname!
Also mal die ganze mappng geschichte killen
config.tx_ex...ping.columns >
Erwartet: Keine Ausgabe, leere Felder
Resultat: Wie gehabt. Name -> Name, firstName -> Vorname, lastName ->
Nachname, city -> Stadt u.s.w.
Cache? Geleert, gelöscht, vernichtet. Hab sogar per phpMyAdmin alle
CacheTabellen mittels TRUNCATE gelöscht, ein 'rm -R typo3temp/Cache/*'
mach ich ja schon fast im Schlafe.
-> TYPO3 vollkommen unbeeindruckt.
Der Output steht immer noch wie eine 1.
Was mach ich also falsch?
AdressController.php:
---------------------
<?php
namespace Tmd\Screenprinting\Controller;
/**
* PrintitemController
*/
class AddressController extends
\TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
/**
*addressRepository
*
* @var \Tmd\Screenprinting\Domain\Repository\AddressRepository
* @inject
*/
protected $addressRepository = NULL;
/**
* action list
*
* @return void
*/
public function listAction() {
$addresses = $this->addressRepository->findAll();
$this->view->assign('addresses', $addresses);
}
}
Model/Address.php
-----------------
<?php
namespace Tmd\Screenprinting\Domain\Model;
class Address extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
/**
* name
* @var string
*/
protected $name = '';
/**
* first_name
* @var string
* @ v a lidate NotEmpty
*/
protected $firstName = '';
/**
* middle_name
* @var string
*/
protected $middleName = '';
.... alle Tabellen felder durch, auch die Getter/Setter:
/**
* @return string $string
*/
public function getName() {
return $this->name;
}
/**
* @param string $name
* @return void
*/
public function setName($string) {
$this->name = $string;
}
....
}
Domain/Repository/AddressRepository.php
---------------------------------------
<?php
namespace Tmd\Screenprinting\Domain\Repository;
/**
* The repository for Address
*/
class AddressRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {}
Templates/Partials etc. spar ich mir mal. Offensichtlich klappt das ja
prinzipiell.
TYPOScript:
-----------
config.tx_extbase.persistence {
storagePid = 67
classes {
Tmd\Screenprinting\Domain\Model\Address {
mapping {
tableName = tt_address
recordType = Tx_Screenprinting_Domain_Model_Address
columns {
gender.mapOnProperty = gender
... mapping alle Felder
ExtBaseName.mapOnProperty = Tabellen Feld
Frage hierzu
-----------
classes.NameSpaceName: NameSpace korrekt
mapping.tableName = tt_adress : Das ist ursprungstabelle?
mapping.colums: korrekt so?
Um weitere verwirrung zu stiften hab ich die EXT mal in einem anderen
Projekt installiert. tt_address dazu, datensatz angelegt.
TS übernommen.
Jetzt ratet mal was icm FE zu sehen ist?
exec_SELECTquery
caller TYPO3\CMS\Core\Database\DatabaseConnection::exec_SELECTquery
ERROR Table 'test.tx_screenprinting_domain_model_address' doesn't exist
lastBuiltQuery SELECT COUNT(*) FROM
tx_screenprinting_domain_model_address WHERE 1=1
Das tupferlgleiche Setup wie im anderen Projekt vorher.
.....
Wer weiß rat.
Danke,
Christian.
More information about the TYPO3-german
mailing list