[TYPO3-german] Re: Typo3 7.6 - Formular Klasse dem Submit Button zuweisen

2016-12-13 Diskussionsfäden David Brünner

Danke!! Das ist genau mein Problem.

Ich habe aber auch eine Lösung um auf das 'Default'-Theme zu wechseln.

1. Öffne im TYPO3BE den Seitenbaum
2. Wähle das Modul 'Template' und wechsle auf die Seite auf der das Template 
liegt
3. Wähle den Typoscript-Objekt Browser
4. Hier den Pfad: 
plugin-->tx_form-->settings-->registeredElements-->FORM-->compatibilityMode
5. Klicke das an und setze 
'plugin.tx_form.settings.registeredElements.FORM.compatibilityMod' auf 0

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

[TYPO3-german] Validierung von datetime-local

2017-03-10 Diskussionsfäden David Brünner

Hallo,

ich habe folgendes Formular:

{headline}





Ansprechpartner Seit






Beim Abschicken des Formulars erhalte ich folgende Fehlermeldung:
The date "2017-12-31T23:59" was not recognized (for format "Y-m-d\TH:i:sP"). | 
1307719788 | Arguments: 2017-12-31T23:59

Also habe ich folgende Funktion

public function initializeAddAction() {
 $this->arguments['ansprechpartner']
   ->getPropertyMappingConfiguration()
   ->forProperty('ansprechpartnerSeit')
   ->setTypeConverterOption(DateTimeConverter::class, 
DateTimeConverter::CONFIGURATION_DATE_FORMAT, 'd.m.Y G:i');
}

eingebaut.
Jetzt bekomme ich diese Fehlermeldung:
The date "2017-12-31T23:59" was not recognized (for format "d.m.Y G:i"). | 
1307719788 | Arguments: 2017-12-31T23:59

Wie kann ich das Datetime-local-Feld validieren?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] The identity property "synony" is no UID.

2017-03-25 Diskussionsfäden David Brünner

Hallo,

habe folgendes Szenario:
Tabellen:

Leistung  <--(1-n)-->   Leistunganhang

Mein Model
[code]
class Leistunganhang extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
 /**
  * typ
  * 
  * @var string

  */
  protected $typ = '';

 /**
  * kurzbeschreibung
  * 
  * @var string

  */
  protected $kurzbeschreibung = '';

  /**
   * langbeschreibung
   * 
   * @var string

   */
  protected $langbeschreibung = '';


  /**
   * Returns the typ
   * 
   * @return string $typ

   */
  public function getTyp()
  {
return $this->typ;
  }

  /**
   * Sets the typ
   * 
   * @param string $typ

   * @return void
   */
  public function setTyp($typ)
  {
$this->typ = $typ;
  }

  /**
   * Returns the kurzbeschreibung
   * 
   * @return string $kurzbeschreibung

   */
  public function getKurzbeschreibung()
  {
return $this->kurzbeschreibung;
  }

  /**
   * Sets the kurzbeschreibung
   * 
   * @param string $kurzbeschreibung

   * @return void
   */
  public function setKurzbeschreibung($kurzbeschreibung)
  {
$this->kurzbeschreibung = $kurzbeschreibung;
  }

  /**
   * Returns the langbeschreibung
   * 
   * @return string $langbeschreibung

   */
  public function getLangbeschreibung()
  {
return $this->langbeschreibung;
  }

  /**
   * Sets the langbeschreibung
   * 
   * @param string $langbeschreibung

   * @return void
   */
  public function setLangbeschreibung($langbeschreibung)
  {
$this->langbeschreibung = $langbeschreibung;
  }
}
[/code]

Habe jetzt zum Testen folgendes Forumlar
[code]


 
   Kurzbeschreibung
   
 
 
   
 

[/code]

Schicke ich das Formular ab, erhalte ich im initlizeAddAction() beim Debug von 
$this->request folgendes (gekürzte) Ausgabe:
[code]
TYPO3\CMS\Extbase\Mvc\Web\Requestprototypeobject
 ...
 arguments => protectedarray(3 items)
   leistung => array(2 items)
 ...
 typ => 'synonym' (6 chars)
 kurzbeschreibung => 'blablub' (7 chars)
[/code]

und in der addAction() dann folgende Fehlermeldung:
#1297759968: Exception while property mapping at property path "leistunganhang.typ": The 
identity property "synony" is no UID.

Kann mir jemand sagen, wo da der Fehler liegt?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] 1:n Beziehung

2017-04-14 Diskussionsfäden David Brünner

Ich habe zum Testen ein einfaches Modul geschrieben.

Person 
name

fk:leistung(1:n)

Leistung
bezeichnung
hinweis

Wie setze ich die Eigenschaften der Leistung im Add/Change-Formular der Person?

Mein Versuch war folgender


 
   Name
   
 
 
   Leistung Bezeichnung
   
 
 
   Leistung Hinweis
   
 

 



Aber da erhalte ich beim Absenden des Formulars dann immer die Fehlermeldung: Exception while 
property mapping at property path "leistung.bezeichnung": The identity property 
"leistungBez" is no UID. (Wobei 'leistungBez' der Wert war den ich eingegeben habe)

Ihr werde euch jetzt vielleicht fragen, wozu die 1:n-Beziehung? Idee ist das 
eine Person beliebig viele Leistungen haben kann.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Nach Änderung des zugewiesen Bildes wird immer noch altes angezeigt

2017-04-20 Diskussionsfäden David Brünner

Hallo,

ich habe eine Tabelle Person in der es u.a. eine Property 'image' für ein Bild 
gibt.
Das wird korrekt in die DB eingetragen - sowohl bei Neuanlage als auch beim 
Ändern.

Problem ist aber, wenn ich einem bereits angelegten Benutzers ein neues Bild 
zuweise wird das korrekt in der Datenbank geändert, aber trotzdem weiterhin das 
alte Bild angezeigt.
Also in der DB steht dann z.B. für das Bild die ID 200, wenn ich mir aber das 
Personen-Objekt per f:debug() ausgeben lasse steht weiterhin für 'image' die 
alte ID.

Manuell Caches leeren bringt nix.
Habe auch per $this->cacheService->clearPageCache() den Cache geleert.
Hilft alles nix.

Kann mir jemand behilflich sein?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] UID von gerade hinzugefügter Subproperty

2017-06-05 Diskussionsfäden David Brünner

Hallo,

erstmal ein Beispiel:

   $leistungObj->addLeistunganhang($leistunganhangObj);  //1

Wie komme ich in diesem Beispiel an die UID von $leistunganhangObj.

Ich dachte wenn ich ein

   
$this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\PersistenceManager')->persistAll();
  //2

würde alles gespeichert und ich bekomme die UID des gerade 
bearbeiteten/hinzugefügten Datensatzes.

Aber es funktioniert dann lediglich das,

   $leistungObj->getUid()  //3

aber diese UID kenn ich. Ich bin an der UID von $leistunganhangObj interessiert.

Etwas wie

   $leistunganhangObj->getUid()  //4

hier bekomme ich lediglich die gleiche Ausgabe zu sehen wie bei

   DebuggerUtility::var_dump($leistunganhangObj)  //5

nur die Auflistung des $leistunganhangObj mit seinen Properties und der Aussage 
das das noch nicht persistiert ist und daher keine UID hat.

Das
   $leistungObj->$leistunganhangObj->getUid()  //6
oder das
   $leistungObj->getLeistunganhang()->getUid()  //7
geht leider nicht.

Gibts keine Möglichkeit an die UID des gerade hinzugefügten $leistunganhangObj 
zu kommen?


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

[TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-15 Diskussionsfäden David Brünner

Auf Stefans TYPO3 Seite 
(https://www.typo3lexikon.de/typo3-tutorials/ajax/eid-beispiele.html) wird 
beschrieben, wie man mit einer eID einen AJAX-Call im Plugin realisieren kann.

Das funktioniert soweit gut.
Aber leider habe ich dann innerhalb meiner PHP-Klasse die durch den AJAX-Call 
aufgerufen wird keinen Zugriff auf das $GLOBALS Array.

Ich möchte nämlich in $GLOBALS['TSFE']->fe_user mit getKey() und setKey() die 
Session bearbeiten.

Hat jemand eine Idee, wie das geht?

Anbei mal der bisherige Code mit eID:

ext_localconf.php:
..
$GLOBALS['TYPO3_CONF_VARS']['FE']['eID_include'] = 
['KKSoftwareIndexController::storeSession' => 
\KKSoftware\Kksession\Ajax\Session::class . '::storeSession'];
..

Session.php:
getBody()->write(json_encode($GLOBALS['TSFE']));
return $response;
}
}

session.js:
$().ready(function() {
$.ajax({
url: 'index.php',
method: 'POST',
data: 'eID=KKSoftwareIndexController::storeSession',
success: function(result) {
console.log(result);
}
});
});
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-16 Diskussionsfäden David Brünner

Hallo Dieter,

kannst du auch gleich einen 
Aufruf über f:link.action auf die Action machen, die du per Extbase nach 
üblicher Manie definierst


kannst Du das mal mit einem Beispiel verdeutlichen?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-16 Diskussionsfäden David Brünner

Das habe ich so probiert.
Aber ich bekomme leider nur den Inhalt der aktuellen Seite zurückgeliefert.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-17 Diskussionsfäden David Brünner

Hallo Dieter,

also es soll funktionieren, wenn ich folgenden Controller habe

 'wert']);
}
}

und mein


var ajaxUrl = '';


so aussieht.
Das habe ich getestet - das Ergebnis bleibt das Gleiche.

Auserdem wird das in 
https://github.com/helhum/ajax_example/blob/master/Classes/Controller/ExampleController.php
 ja auch nicht gemacht.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: #1294585070: No module "web_layout" could be found

2017-06-17 Diskussionsfäden David Brünner

Der Fehler des Screenshots besagt, das dein TYPO3 versucht das Modul 
'web_layout' zu laden.
Öffne mal die Datei typo3conf/PackageStates und entferne den Eintrag für das 
Modul 'web_layout'.

Anschließend gehst du ins Installtool indem du die URL 
//typo3/install eingibst.
Jetzt musst du im Verzeichnis typo3conf erst noch die Datei 
'ENABLE_INSTALL_TOOL' anlegen.

Ist das Installtool geöffnet, machst du unter 'Important Actions'->'Check for 
broken Extensions'.

Dann kannst du das Installtool schließen (Klick auf 'Backend Admin').

Im BE installierst du dann im Erweiterungsmanger das Modul 'web_layout' erneut
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] TYPO3 8.7.1 - CKEditor - Konfiguration Verständnisfrage

2017-06-17 Diskussionsfäden David Brünner

chris30 hat recht.

Schreib ne eigene Extension und ändere in der Extension die ext_localconf.php
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Problem im Backend von 8.7.1

2017-06-17 Diskussionsfäden David Brünner

Ich denke irgendeine Extension die du nutzt möchte die Daten aus 'sys_language' 
nach der Zelle 'sorting' sortiert haben.

Das Feld 'sorting' existiert bei Dir aber (noch) nicht. 
Wahrscheinlich hat irgendeine Extension die du mal Installiert hast und jetzt nicht mehr hast das TCA der Tabelle 'sys_language' um eben dieses Feld erweitert.


Ich sehe da jetzt 2Möglichkeiten:
1. Du installierst die Extension die diese Erweiterung gemacht hat.
Und dann sollte alles OK sein.

2. Du erweiterst die Tabelle manuell um das Feld 'sorting' und passt das TCA 
entsprechend an. Damit sollte es dann auch funktionieren.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-17 Diskussionsfäden David Brünner
Dann solltest du 

sie auch als sessionAction bezeichnen

Das hatte ich schon Probiert.
Habe aber jetzt mal zwei Varianten -  zwei versch. Controller - getestet:

IndexController:
view->assign('test', 'wert');
}

}

SessionController:
view->assign('wert', 'test');
}
}

Und in meinem View dann:

var ajaxUrl = '';  

oder

var ajaxUrl = '';  


Im Templates/Session/Session.html bzw. Templates/Index/Session.html steht immer 
nur: {wert}

Beide Fälle liefern das gleiche Ergebnis. Ich bekomme immer das zurück 
geliefert - den Inhalt der aktuellen Seite.
Also ich meine die Entwicklerkonsole zeigt im Response-Tab die aktuelle Seite 
an.


Das sagt die Entwicklerkonsole:
Request 
URL:http://localhost/typo8/index.php?id=1&type=99&tx_kksession_kksession%5Baction%5D=session&tx_kksession_kksession%5Bcontroller%5D=Session&cHash=79997d7538aed3f47cc54a1884861aae
Request Method:POST
Status Code:200 OK

bzw. 


Request 
URL:http://localhost/typo8/index.php?id=1&type=99&tx_kksession_kksession%5Baction%5D=session&tx_kksession_kksession%5Bcontroller%5D=Index&cHash=110588b4f0d2913288e34c9d28da1e0b
Request Method:POST
Status Code:200 OK

Obwohl mein JS 
$().ready(function () {

$.ajax({
url: ajaxUrl,
type: 'post',
dataType: 'json',
success: function(result) {
alert(result);
},
error: function(result) {
console.log('ERROR');
console.log(result);
}
});
});

mir nicht den erwarten alert() ausgibt sondern den Error-Teil.

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

[TYPO3-german] Re: [6.2] Dateiendung in CASE verwenden

2017-06-17 Diskussionsfäden David Brünner

file:current:publicUrl ist hier nicht verfügbar

Laut aktueller Doku sollte es aber da sein.

Vielleicht brauchst du nur noch einen Slide??

key.data = levelmedia:-1, slide
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: [6.2] Dateiendung in CASE verwenden

2017-06-17 Diskussionsfäden David Brünner

Ich sehe grade in der Doku das es auch die Möglichkeit gibt direkt auf die 
Extension zuzugreifen.
Also kein substring oder sonstige Tricks nötig - und es hat den Vorteil das 
dein TS auch funktioniert wenn die Dateiendung mal mehr als 3Buchstaben lang 
ist.


Aus: 
https://docs.typo3.org/typo3cms/TyposcriptReference/DataTypes/Gettext/Index.html#file
The following properties are available:

name, uid, originalUid, size, sha1, extension, mimetype, contents, publicUrl, 
modification_date, creation_date


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

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-17 Diskussionsfäden David Brünner

10 < tt_content.list.20.kksession2_kksession2

das war Versuch Nr. xxx - mittlerweile steht da: 10 < 
tt_content.list.20.kksession_kksession


ajax = PAGE
ajax {
typeNum = 99
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:application/json
admPanel = 0
debug = 0
}
#   10 < tt_content.list.20.kksession_kksession
10 = TEXT
10.value = Ich funktioniere wirklich
10.wrap = |
}

Das 'Ich funktioniere wirklich' wird nirgends ausgegen.
(Also weder in der Developerconsole noch im Body der Seite)

Gib mal zusätzlich beim den Namen des Plugin 

 var ajaxUrl = '';
Bringt auch keine Änderung.


 return $this->view->assign('wert', 'test');

Klar Unsinn - Copy/Pate Fehler

Nachdem es wohl so aussieht als ob der Fehler beim pageType liegt, habe ich 
diesen mal auf 123 (sowohl im Link als auch im TS) geändert.
--> Keine Änderung (auser das in der Konsole der URL (der type=123 ist)
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-17 Diskussionsfäden David Brünner
Wie sieht denn deine Plugin-Definition aus? 


Auszug aus ext_localconf.php
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'KKSoftware.Kksession',
'kksession',
[
'Index' => 'index, session',
'Session' => 'session'
],
// non-cacheable actions
[
'Index' => 'index, session',
'Session' => 'session'
]
);

Auszug aus der ext_tables.php
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'KKSoftware.Kksession',
'kksession',
'K&K Session Storage'
);

Und der Wert 'tt_content.list.20.kksession_kksession' ist im TypoScript-Object 
Browser auch definiert
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-17 Diskussionsfäden David Brünner
Nehme zum Test des Ajax-Link denseben und prüfe ihn mit dem Browser. 
Dann siehst du ohne mögliche JavaScript-fehler sofort, was der Server 
zurücklifert.

Habe ich schon gemacht.
Der URL 
(http://localhost/typo8/index.php?id=1&type=123&tx_kksession_kksession%5Baction%5D=session&tx_kksession_kksession%5Bcontroller%5D=Index&cHash=110588b4f0d2913288e34c9d28da1e0b)
 lässt sich ohne Probleme aufrufen - auch in der Konsole sind keine Fehler gemeldet.
Aber ansonsten funktioniert das genau so - bzw. nicht - wie beim "normalen" 
Aufruf.

Das Plugin scheint nicht eingebunden zu sein.
Unter dem Schlüssel Plugin fehlt das - das statische Template ist aber 
hinzugefügt.
Was läuft falsch?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-17 Diskussionsfäden David Brünner

Da bin ich wieder:

ext_localconf.php:
 'index, session',
'Session' => 'session'
],
// non-cacheable actions
[
'Index' => 'index, session',
'Session' => 'session'
]
);

// wizards

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
'mod {
wizards.newContentElement.wizardItems.plugins {
elements {
kksession {
icon = ' . 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($extKey) . 
'Resources/Public/Icons/user_plugin_kksession.svg
title = 
LLL:EXT:kksession/Resources/Private/Language/locallang_db.xlf:tx_kksession_domain_model_kksession
description = 
LLL:EXT:kksession/Resources/Private/Language/locallang_db.xlf:tx_kksession_domain_model_kksession.description
tt_content_defValues {
CType = list
list_type = 
kksession_kksession
}
}
}
show = *
}
   }'
);
},
$_EXTKEY
);

ext_tables.php:
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


Re: [TYPO3-german] Problem im Backend von 8.7.1

2017-06-17 Diskussionsfäden David Brünner

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


Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-17 Diskussionsfäden David Brünner

Sorry das ich euch nicht auf dem laufenden gehalten habe.

ich benutze auch JSON via eID für eine eigene Suchmaschine, da mir das 

gesamte Framework zu langsam war. Auf die Usersession komme ich so:

aber das habe ich mittlerweile auch hinbekommen.

Aber das ganze ist so gedacht, dass ich zwei Buttons - größere und kleiner 
Schrift - habe.

Das ganze habe ich so gelöst:
?php

use TYPO3\CMS\Core\Utility\GeneralUtility;

$returnData = null;
$TSFE = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('TSFE');
if (!$TSFE) {
 /** @var \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController $TSFE */
 $TSFE = GeneralUtility::makeInstance(
   'TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController',
   $TYPO3_CONF_VARS,
   0,
   0
 );
 $TSFE->initFEuser();
 $returnData['TSFE'] = $TSFE;
}

$type = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('action');
switch ($type) {
 case 'lese':
   $returnData['value'] = $TSFE->fe_user->getKey('ses', 'test');
   break;
 case 'schreibe':
   $value = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('input');
   $TSFE->fe_user->setKey('ses', 'test', $value);
   break;
}
echo json_encode($returnData);

das JS:
var TSFE = null;

$().ready(function() {
 $('button').on('click', function() {
   var type = $(this).attr('id');
   var inputData = $('#testinput').val();
   $.ajax({
 url: 'index.php',
 method: 'POST',
 data: {
'eID': 'KKSoftwareIndexController::storeSession',
'input': inputData,
'action': type,
'TSFE': TSFE
 },
 success: function(result) {
   result = jQuery.parseJSON(result);
TSFE = result.TSFE;
if (type == 'lese') {
  alert(result.value);
}
 }
   });
 });
});

Beim 1.Klick funktionierts - FE-User wird dann initialisiert und dann an AJAX 
zurückgeliefert.
Beim 2. Klick bekommet der PHP Teil dann das Bereits initialisierte Objekt - 
aber leider nicht als
TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController sondern nur als Array 
==> Das TSFE wird neu initialisiert und meine Sessiondaten sind somit wieder 
leer.

Und auch wenn das soweit funktionieren würde bin ich trotzdem sehr an der 
Lösung interessiert wieso mein Ajax mit der f:link.action-Methode nicht 
funktioniert.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-18 Diskussionsfäden David Brünner

Das ist natürlich Quatch!

Beim 2.Mal wird der if-Block nicht durchlaufen - richtig.
Aber dann beim setKey/getKey kommt eine Fehlermeldung, dass die Methoden nicht 
aufgerufen werden können. (das $TSFE Array nicht 
TypoScriptFrontendController-Objekt)
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] TYPO3 8.7.1 - CKEditor - Konfiguration Verständnisfrage

2017-06-18 Diskussionsfäden David Brünner

Du kannst mal im im Module Konfiguration (das Symbol mit den vier Reglern im 
System-Bereich) schau ob deine Konfiguration da richtig übernommen wurde.
Wenn nein, dann wird deine Extension irgendwie nicht richtig geladen.
- Module im Extensionmanager aktiviert?
- Statisches Template des Moduls geladen?
- Modul auf Seite eingebunden?

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

Re: [TYPO3-german] Problem im Backend von 8.7.1

2017-06-18 Diskussionsfäden David Brünner

Das soll heißen das ich auch keinen Plan habe
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-18 Diskussionsfäden David Brünner

Ich habe jetzt die, gefühlt, 500ste Extension installiert.

Habe Pfade geändert, PluginName und ExtensionName geändert und jedesmal die 
Extension wieder entfernt und hinzufgefügt (im Extensionmanager).
Nach jedem Schritt /typo3conf/autoload und typo3temp geleert.

Bin langsam mit meinem Latein am Ende.

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

[TYPO3-german] Re: AJAX im Plugin mit eID - Zugriff auf Session

2017-06-18 Diskussionsfäden David Brünner

:-D JIPIII :-D

Ich habs

Der einzige Fehler war die Codierung der URL.
So sieht meine Index.html aus:

var ajaxUrl = 


An folgenden URL geht dann der Ajax-Request: xxx?id=1&type=99&...
Der muss aber heißen: xxx?id=1&type=99&
==> & NICHT &

Komisch ist nur das mir dann TYPO3 garnicht mekert.
Auch nix von wegen: Session nicht definiert (wenn der Eintrag für sessionAction 
in der ext_localconf.php fehlt).

Hier mein (fast) vollständiger Code:
IndexController:
fe_user->setKey('ses', 'sesVal', 
$sesVal);
break;
case 'lese':
$data = $TSFE->fe_user->getKey('ses', 'sesVal');
break;
}
return json_encode(['sesVal' => $data]);
}
}

Index.html

var ajaxUrl = '';


session.js
$().ready(function () {
ajaxUrl = ajaxUrl.replace(/&/g, '&');

$('button').on('click', function() {
var mode = $(this).attr('data-mode');
$.ajax({
url: ajaxUrl,
method: 'POST',
dataType: 'json',
data: {
mode: mode,
sesVal: $('#test').val()
},
success: function (result) {
console.log(result);
},
error: function () {
console.log('error');
}
});
});
});
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: [6.2] Dateiendung in CASE verwenden

2017-06-19 Diskussionsfäden David Brünner

im default habe ich im span die Pipe, wo er mit "jpg" oder "mp4" ausgibt und genau das 
ist das problem, er greift nicht auf den case "mp4" zu sondern auch dort auf default, wieso?


Hänge doch mal einen Auszug deiner DB an.
select , from tt_content Where uid = 

Kann mir nur vorstellen, dass da nicht genau mp4 steht.

Alternativ kannst du auch mal auf den kompletten CASE verzichten und dir 
einfach mal die Endungen alle ausgeben lassen.


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

[TYPO3-german] setKey() aber trotzdem ist TSFE:fe_user|sesData leer

2017-06-19 Diskussionsfäden David Brünner

Nachdem ich jetzt endlich mein Problem mit AJAX in den Griff bekommen habe, 
taucht schon wieder eine neues auf.

$GLOBALS['TSFE']->fe_user->setKey('ses', 'contrast', 'high);

wird korrekt in die Session geschrieben.
Kann das auch mit
$GLOBALS['TSFE']->fe_user->getKey('ses', 'contrast');
prüfen.

Allerdings wenn ich im setup.ts meines Plugins schreibe:

page {
1 = TEXT
1.value = aus Session:

2 = TEXT
2.data = TSFE:fe_user|sesData
}

bekomme ich an der Stelle von page.2 nichts geliefert.
Auch ein neuladen der Seite nach dem Speichern der Session bringt nix.

Warum ist das TSFE:fe_user|sesData leer?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: [6.2] Dateiendung in CASE verwenden

2017-06-19 Diskussionsfäden David Brünner
funktioniert die Case abfrage nicht mit Strings? 

ne.

Dein Fehler:
Innerhalb des CASE-Objekt bestimmt der Wert der Eigenschaft 'key' auf welchen 
Wert getestet wird.
Also

xxx = CASE
xxx {
key.data = file:current:extension 
..


ist key == mp4
tue das

ist key == bmp
tue jenes
..

Du hattest:
key = ist auf der aktuellen Seite (oder Elternseite) ein Bild (Anwort ja oder 
nein)

hat diese Bild den Wert mp4?
..
hat dieses Bild den Wert jpg?
..

Also kompletter Schwachsinn.

==> diese Zeile
key.data = levelmedia:-1,slide
durch diese
key.data = file:current:extension  
ersetzen


Sorry das ich das jetzt erst sehe
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-19 Diskussionsfäden David Brünner

Hallo Dieter,

soweit ich weiß, gibt es kein zwei Codierungen für das Amp-Zeichen '&'. 
Es ist also fraglich, ob deine Lösungsbeschreibung dem Nächsten helfen 
wird.
Wäre mir auch neu. Aber kommischerweise ist der URL den  liefert, 
xxx?id=1&:type=99&:...%5d...  (<-- bin mir jetzt nicht sicher ob das %5d ('[') war oder nicht)


Wenn ich diesen URL aufrufe sieht das in der Developerkonsole ok aus, aber der 
error-Callback im JS wird trotzdem ausgelöst.
--> Kein Fehler (in der Developerkonsole) auch wenn die Action nicht existiert 
oder in ext_localconf nicht hinzugefügt wurde.

Ich habe dann mal meinen URL mit dem von helhum-Beispiel verglichen.

Die beiden haben sich nur darin unterschieden, dass das '&' bei mir Encoded war 
bei Helhum nicht.
(Aber das '[' komischerweise bei beiden kodiert).

Also mach ich im JS einfach ein replace von '&' nach '&'.



Funktioniert dein Konstrukt auch bei folgendem
?id=965&type=99&...
, wobei die Seite mit der Id=965 existieren sollte?

Ich sehe keine Grund wieso nicht.
Ich habe meine Code, den ich in meiner Lösung gepostet habe, heute morgen im 
Büro ausprobiert und es hat funktioniert.
(Seitenid dort war ~123)


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

[TYPO3-german] Re: TYPO3 8.7 - Extbase Validation

2017-06-21 Diskussionsfäden David Brünner
 Die Validierung über das Model mittels @notempty schein nicht mehr zu greifen. 


heißt ja auch so: @validate NotEmpty

Vergiss nicht das dann auch im TCA anzupassen (bei bedarf).
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: TYPO3 8.7 - Extbase Validation

2017-06-22 Diskussionsfäden David Brünner

Wenn du das richtig hast

@validate NotEmpty


dann kann ich mir nur vorstellen, das das noch falsch gecacht wird.

Leere doch mal deine Verzeichnisse
- typo3conf/autoload
- typo3temp

Anschließend im Installtool im Punkt 'Folder Structure' die Folder wieder 
erstellen lassen.
Cache komplette leeren (Installtool->Important Actions->Clear all Cache)

Wenn das jetzt immer noch falsch ist, weis ich auch nicht weiter.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Erweiterungen komplett

2017-06-22 Diskussionsfäden David Brünner

Könntest du mal etwas ins Detail gehen ?

Also sind im BE schon Seiten angelegt, existiert schon ein Template, ...
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Typo3 v8 - mod_gzip und mod_deflate nötig?

2017-06-22 Diskussionsfäden David Brünner

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


[TYPO3-german] Re: TYPO3 8.7 - Extbase Validation

2017-06-22 Diskussionsfäden David Brünner

Baue in deinem Partial/Template vor deinem eigentlichen Formular noch



ein.

Error.html:

 
   

{propertyPath}



{error} | {error.code}

| Argumente:


{argument}

{f:if(condition: i.isLast, then: '', else: ', ')}











Dann wird dir bei Bedarf eine entsprechende Meldung ausgegeben.

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


[TYPO3-german] Re: Erweiterungen komplett

2017-06-25 Diskussionsfäden David Brünner

Klicke mal mit der rechten Maustaste auf dein root-Seite (die Seite im 
Seitenbaum direkt unterhalb des TYPO3-Logos).
Im Popupmenu klickst du auf Settings (oder Preferences? -sorry hab grad kein BE 
vor mir)
Dann werden aud der rechten Seite im Backend mehrere Enstellngen aufgelistet. Hier 
klickst du auf den 3. (?)Tab und suchst dort die Einstellng "Mark as root 
page". Diese bitte aktivieren.

Anscließend suchst du ausden Modelen (ganz links) das Template-Modul. Dieses 
anklicken und die root Seite (die hast du eben markiert) wählen.
Rechts neben dem Seitenbaum (oben)ist ein Selectfeld. Den Punkt "Setup" wählen.
Jetzt müsste unterhalb des Auswahlfeldes in etwa stehen "Es ist kein Template 
vorhanden. Wollen Sie eins anlege?" - Ja

Da drunter ist ein Button. Diesen bitte anklicken. Es öffnen sich wieder diverse 
Einstellungen. Hier den Tab "Includes" wählen.
Das statische Templare "fluid_styled_content" hinzufügen - aus rechter Box in 
linke. Speichern nicht vergessen.

Jetzt musst das Template noch bearbeiten. Dazu links wieder das Template-Modul 
wählen,oben rechts neben dem Seitenbaum "Setup" wählen.
Template bearbeiten:

page = PAGE
page.10 = styles.content.get




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

[TYPO3-german] Re: Erweiterungen komplett

2017-06-25 Diskussionsfäden David Brünner

Sorry, in der letzten Zeile hat sichein Fehler eingeschlichen.
Es muss heißen:

page = PAGE
page.10 < styles.content.get
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Erweiterungen komplett

2017-06-25 Diskussionsfäden David Brünner

Rechtsklicks auf rootseite im Seitenbaum
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: Erweiterungen komplett

2017-06-25 Diskussionsfäden David Brünner

Auserdem sehe ich in deinem Scrennshot, dass das bereits eingestellt ist 
(Symbol: Weltkugel)
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: Erweiterungen komplett

2017-06-25 Diskussionsfäden David Brünner

Ist egal. Diese Infomaton wird an dieuntergeordneten Seiten weitergegeben

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


[TYPO3-german] Re: Extbase, Object to array?

2017-06-27 Diskussionsfäden David Brünner

public function queryResultToArray(QueryResult $queryResult, $fields = 
'bezeichnung', $addemptyoption = true, $emptyoptionname = '') {
$result = [];
if ($addemptyoption) $result[0] = $emptyoptionname;
while ($queryResult->valid()) {
$obj = $queryResult->current();
if (gettype($fields) == 'array') {
$resultString = '';
foreach ($fields as $field) {
$method = 'get' . ucfirst($field);
if (method_exists($obj, $method)) {
$resultString .= 
$obj->{$method}() . ', ';
}
}
$result[$obj->getUid()] = substr($resultString, 
0, -2);
} else {
$method = 'get' . ucfirst($fields);
if (method_exists($obj, $method)) {
$result[$obj->getUid()] = 
$obj->{$method}();
}
}
$queryResult->next();
}
return $result;
}
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: Erweiterungen komplett

2017-07-02 Diskussionsfäden David Brünner

Du musst zwischen der Ansicht im BE (Backend) und der Ansicht im FE (Frontend) 
untersceheiden.
Das im BE vier Spalten angezeigt werden ist nur der Standard von TYPO3 - 
eigentlich kannst du ein bel.BELayout einrichten.

Die Defaultansicht von TYPO3 rührt daher, dass die Daten in der Datenbank mit 
vier unerschiedlichen Werten gepeichert werden.
-1 für links, 0 für die Mitte, 1 für rechts und -2 für links außen.

Aber wie diese diese Daten dann im FE ausgegeben werden ist deine Sache bzw. 
des Entwicklers. Bsp.weise könnten alle Daten aus der DB mit colPos = 1 
(entspricht der defaultmäßigen linken Spalte) im Header ausgegeben werden alles 
mit colPos=0 (default: mitte) als der normale Seiteninhalt in der mitte der 
Seite und alles mit colPos=-2 im Footer.

Wenn du dir dass genauer anschauen willst empfehle ich dir das Buch 
Praxiswissen TYPO3 CMS 7 LTS von R.Meyer
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] ComponentBrowser

2017-07-03 Diskussionsfäden David Brünner

Hallo,

ich habe in meiner Extension die Möglichkeit Dateien per FAL hochzuladen.
Jetzt wünscht sich unsere Kunde auch noch die Einbeziehung des Fileadmin.

Jetzt habe ich mir das in einer von unserer Firma gekauften Extension 
angeschaut, wo das genau so funktioniert wie der Kunde das will.
In dieser Extension wird der ComponentBrowser per 


BackendUtility::getModuleUrl('wizard_element_browser', array('mode' => 'file', 
false, true)))

eingebunden.

Kennt jemand ne gute Doku zum ElementBroser - bzw. was die einzelenen Parmater 
bedeuten?

Wenn ich mir den Code der Fremdextension so anschaue gibt es da
- fileWizardUrl
- linkWizardUrl

Wäre mal interessant zu wissen was es das noch gibt.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: ComponentBrowser

2017-07-03 Diskussionsfäden David Brünner
Ich habe jetzt mal nen Breakpoint auf diese Zeile 


$fw = BackendUtility::getModuleUrl('wizard_element_browser', array('mode' => 
'file', false, true));

gesetzt.

Und das fördert ein paar schöne Wizards

- rteckeditor_wizard_browse_links
- wizard_colorpicker
..

zu Tage.

Aber was bedeuten die weiteren Argumente von 


BackendUtility::getModuleUrl('wizard_element_browser', array('mode' => 'file', 
false, true))

also das module und die Booleans?
Und was kann ich mit den Wizards machen?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] TCEFORM.pages

2017-07-09 Diskussionsfäden David Brünner

Würde mal darauf tippen, dass das in der TCA der pages-Tabelle beschränkt wird.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Selectbox befüllt mit Werten aus Tabelle A, aber Auswahl gespeichert in Tabelle B

2017-07-13 Diskussionsfäden David Brünner

Klingt kompliziert, deshalb ein Beispiel zur Erläuterung:

Ich habe drei Tabellen:

Ansprechpartner - LeistungAnsprechpartner - Leistung
jeweils mit 1-n.

Also im Formular zur Leistung habe ich ein Mutliselect um Ansprechpartner 
auszuwählen.

Das funktioniert soweit korrekt.
Dabei habe ich nur ein Problem:

Angenommen ich wähle einen Ansprechpartner mit UID 5 aus. Dann wird in der 
Tabelle LeistungAnsprechpartner ein neuer Datensatz zB. mit UID 30 angelegt.
Jetzt möchte ich die gerade angelegte Leistung (mit Ansprechpartner UID 5) 
bearbeiten - in der Liste zur Auswahl der Ansprechpartner ist korrekt ein 
Ansprechpartner selektiert - aber leider nicht der korrekte mit UID 5 sondern 
eben der mit UID30 (den diese UID wurde ja auch angelegt).

Ich hoffe mein Problem ist klar.
Wie kann ich das lösen?

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

Re: [TYPO3-german] Selectbox befüllt mit Werten aus Tabelle A, aber Auswahl gespeichert in Tabelle B

2017-07-14 Diskussionsfäden David Brünner
Du brauchst doch wohl eher eine n:m-Relation zwischen Ansprechpartner 

und Leistung

Das war auch meine Idee.
Das werd ich mal testen.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


Re: [TYPO3-german] Selectbox befüllt mit Werten aus Tabelle A, aber Auswahl gespeichert in Tabelle B

2017-07-14 Diskussionsfäden David Brünner

Mit m:n gibt es noch ein Problem:

Ich möchte in der m:n-Tabelle noch einen Kommentar ablegen (pro Datensatz). Wie 
kann ich das dann machen?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: =?UTF-8?Q?Re:__Selectbox_bef=c3=bcllt_mit_Werten_aus_?= =?UTF-8?Q?Tabelle_A=2c_aber_Auswahl_gespeichert_in_Tabelle_B?=

2017-07-14 Diskussionsfäden David Brünner
Vielen Dank. 


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


[TYPO3-german] Dateitypen im Elementbrowser einschränken

2017-08-08 Diskussionsfäden David Brünner

In meinem Partial binde ich den Elementbrowser so ein:

..

..

 var getImageFromAjaxUrl = '';

..
$('.fileuploadViaFileadmin').on('click, function() {
 window.open(fileWizardUrl + '&bparams=' + obj + '|||gif|', 'myWindow', 
'width=800, height=800, scrollbars=1');
});
..

Das funktioniert auch ganz gut.
Nur möchte ich in diesem Beispiel die Dateitypen auf 'gif' beschränken.
Leider bezieht sich das nur auf die Anzeige im Elementbrowser.

Also im Elementbrowser steht - richtig - unter erlaubte Dateitypen: gif
Aber ich kann dennoch jegliche andere Datei hochladen. Ich möchte das hochladen 
aber auch auf 'gif' beschränken.

Wie bekomme ich das hin?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Wo wird der zu ladende TCA-Typ festgelegt?

2017-09-17 Diskussionsfäden David Brünner

Ich habe bisher immer noch nicht rausgefunden, wo der zu ladende Abschnitt des 
TCA-Typs festgelegt wird.

Ein Beispiel:
im TCA['types'] von tt_content werden viele verschiedene Keys festgelegt (1, 
bullets, div,...). Aber wo wird festgelegt, welcher Key davon geladen wird wenn 
ich zb. ein neues Contentelement auf der Seite anlegen will - also der Typ der 
dann die Seite 'New Content Element' öffnet?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Registrierung: Account per Link aktivieren

2017-09-28 Diskussionsfäden David Brünner

Ich habe auf Basis von fe_login einen Login mit Registrierung geschrieben.
Das funktioniert soweit schon sehr gut.

Habe aber noch folgendes Problem:
Wenn sich ein Benutzer registiert, wird der DB-Eintrag in fe_user zuerst 
deaktiviert und eine eMail an den Benutzer geschickt.
In dieser eMail ist ein Link um den entsprechenden Eintrag in fe_user zu 
aktivieren.

Mein Template für die Mail sieht (erstmal) so aus:
--
]Bitte klicken Sie auf folgenden Link um Ihren Account zu aktivieren:


--

Das funktioniert aber so nicht.

Hat jemand eine Idee?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Übersetzung im AJAX-Formular

2017-09-29 Diskussionsfäden David Brünner

Ich habe ein Plugin geschrieben.

Das erste Formular wird bei onClick auf einen Button geöffnet.
Hier stimmt die Sprache.

Ein zweites Formular wird per AJAX geladen nachdem im ersten Formular ein 
Button gedrückt wurde.
In diesem zweiten Formular stimmt die Sprache nicht.

Wie kann ich die Sprache in dem AJAX-Formular ändern?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Übersetzung im AJAX-Formular

2017-09-29 Diskussionsfäden David Brünner

Ich habe ein Plugin geschrieben.

Das erste Formular wird bei onClick auf einen Button geöffnet.
Hier stimmt die Sprache.

Ein zweites Formular wird per AJAX geladen nachdem im ersten Formular ein 
Button gedrückt wurde.
In diesem zweiten Formular stimmt die Sprache nicht.

Wie kann ich die Sprache in dem AJAX-Formular ändern?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Übersetzung im AJAX-Formular

2017-09-29 Diskussionsfäden David Brünner

Habs rausgefunden:

$GLOBALS['TSFE']->config['config']['language'] = 'de';

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


[TYPO3-german] Re: Übersetzung im AJAX-Formular

2017-09-29 Diskussionsfäden David Brünner

Habs rausgefunden:

$GLOBALS['TSFE']->config['config']['language'] = 'de';

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


[TYPO3-german] Welche Methode um Instanz zu bekommen?

2017-10-06 Diskussionsfäden David Brünner

Hallo,

es gibt ja (zumindest in einigen Fällen) mehrere Methoden um an eine Instanz zu 
kommen, z.B.:

- new Whatever()
- $this->objectManager->get("NS\\Whatever")
- \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()

mal abgesehen davon dass die letzte Methode wohl ein Singleton ist und das 
somit - in diesem Fall die einzigste Möglichkeit ist - bleiben immer noch 2 
Möglichkeiten.

Welche davon ist zu bevorzugen?
Warum?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Welche Methode um Instanz zu bekommen?

2017-10-06 Diskussionsfäden David Brünner

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


[TYPO3-german] Mapping auf SysFile geht nicht - im AJAX Call

2017-10-16 Diskussionsfäden David Brünner

Ich meinem Modul versuche ich die Tabelle SysFile zu mappen.
Aber das klappt nicht - ich habe bereits diverse andere Tabellen wie BeUsers, 
SysFileReference erfolgreich gemappt und kann mir nicht erklären warum das 
einfach nicht funktioniert.

Ich sollte noch erwähnen, das ich versuche die Tabelle in einem AJAX-Call zu 
mappen.
Schreibe ich den Code aus der Methode des AJAX-Calls in die listAction() 
funktioniert der Code. Ist also korrekt - aber warum gehts im AJAX-Call nicht?


Ich habe zwei Klassen, SysFile und SysFileRepository:

Classes\Domain\Model\SysFile.php
--
identifier;
}
}
--

Classes\Domain\Repository\SysFileRepository
--
 
'KKSoftware\\Kkbaybw\\Controller\\Backend\AnsprechpartnerController->imageUploadInWYSIWIG'
];

--

und zuletzt der AnsprechpartnerController
--
use KKSoftware\Kkbaybw\Domain\Repository\SysFileRepository;

public class AnsprechpartnerController extends BaseController {
   /**
* @var SysFileRepository $sysFileRepository
*/
   protected $sysFileRepository;

   /**
* @param SysFileRepository $sysFileRepository
*/
   public function injectSysFileRepository(SysFileRepository 
$sysFileRepository) {
$this->sysFileRepository = $sysFileRepository;
   }

   public function imageUploadInWYSIWIG() {
$postData = GeneralUtility::_POST();
if (!isset($postData['uid'])) {
return json_encode(['result' => 'Missing arguments']);
} else {
$uid = $postData['uid'];
$om = 
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Object\ObjectManager');
/** @var  $sysFileRepository 
\KKSoftware\Kkbaybw\Domain\Repository\SysFileRepository */
$sysFileRepository = 
$om->get('KKSoftware\\Kkbaybw\\Domain\\Repository\\SysFileRepository');
//1
DebuggerUtility::var_dump($this->sysFileRepository->findAll());
//2
DebuggerUtility::var_dump($sysFileRepository->findAll());exit;
}
   }
}
--
bei 1 wird ausgeben:
Call to a member function findAll() on null.

bei 2 wird ausgeben:
Table 'typo8.tx_kkbaybw_domain_model_sysfile' doesn't exist

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

[TYPO3-german] Error - reference to main window is not set properly!

2017-10-22 Diskussionsfäden David Brünner

Ich versuche den wizard_element_browser aufzurufen

Das Fenster für den Wizard geht auf, wenn ich da aber eine Seite im Seitenbaum 
markiere bekomme ich die Fehlermedung:
Error - reference to main window is not set properly!

Ich rufe den Wizard mit folgendem Code im Controller auf:
---
$this->view->assignMultiple([
'wizardLinkUrl' => BackendUtility::getModuleUrl('wizard_element_browser', ['mode' 
=> 'db', 'table' => 'pages']),
])
---

Im View:
---

---

Und dann im JS:
---
var wizardLinkUrl = $('input[type="hidden"][name*="wizardLinkUrl"]').val();
window.open(wizardLinkUrl + '¶ms=WYSIWIG-link', 'WYSIWIG-Link', 'width=800, 
height=800, scrollbars=1');
---

In diesem Fenster erhalte ich bei Klick den Fehler.

Der Fehler wird im 
typo3\sysext\recordlist\Resources\Publici\JavaScript\ElementBroser.js geworfen.
---
if (
window.opener && window.opener.content && 
window.opener.content.document.editform
&& window.opener.content.document.editform[ElementBrowser.formFieldName]
) 
---


Das Problem sind alle Aufrufe ab 'window.opener.content'.
Denn alles Eigenschaften ab 'window.opener.content' sind nicht definiert.

Wenn ich eine Methode content() definiere, ist zumindest der Aufruf von 
'window.opener.content' definiert, aber wie definiere ich dann zb. 
'window.opener.content.document' und 'window.opener.content.document.editform' 
und 'window.opener.document.editform[ElementBrowser.formFieldName]' ?

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

[TYPO3-german] Mapping im AJAX-Call

2017-10-23 Diskussionsfäden David Brünner

Ich habe die Pages-Tabelle auf Seiten gemappt.

[code]
module.tx_kkbaybw {
 persistence {
   classes {
 KKSoftware\Kkbaybw\Domain\Model\Seite {
   mapping {
 tableName = pages
}
 }
   }
 }
}
[/code]

Wenn ich die jetzt in der listAction() meines Controllers aufrufe

[code]
$repository = 
$this->om->get('KKSoftware\\Kkbaybw\\Domain\\Repository\\SeiteRepository');
$all = $repository->findAll();
[/code]

bekomme ich eine Liste aller Seiten.

Wenn ich die letzten zwei Zeilen in einer ajaxAction einfüge erhalte ich die 
Fehlermeldung:
#1472074379: Table 'typo8.tx_kkbaybw_domain_model_seite' doesn't exist

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

[TYPO3-german] Re: Mapping im AJAX-Call

2017-10-23 Diskussionsfäden David Brünner

Ich habs!! (-: (-:

Ich hatte:
[code]
module.tx_kkbaybw {
 ...
}
[/code]

Das muss einfach durch 'config.tx_extbase' ersetzt werden.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Ajax mit eID: Alternative zu TYPO3\CMS\Core\Http\AjaxRequestHandler

2017-12-11 Diskussionsfäden David Brünner

Ich habe in der Datei 'ext_localconf.php' folgendermaßen ein AJAX-Request 
registriert.
[code]$GLOBALS['TYPO3_CONF_VARS']['BE']['AJAX']['kkbaybwBackendImageInWYSIWIG'] 
= [
'callbackMethod' => 
'KKSoftware\\Kkbaybw\\Controller\\BaseController->imageUploadInWYSIWIG'
];
[/code]

Und im 'BaseController' die Fkt. 'imageUploadInWYSIWIG' geschrieben.
[code]public function imageUploadInWYSIWIG($params = [], 
TYPO3\CMS\Core\Http\AjaxRequestHandler $ajaxObj = null) {
$postData = GeneralUtility::_POST();
..

$ajaxObj->addContent('path', $path);

}
[/code]

Der 'AjaxRequestHandler' ist aber als deprecated markiert und wird mit v9 
entfernt.
Was soll ich dann als Alternative verwenden?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Zugriff auf TS-Template aus USER?

2017-12-11 Diskussionsfäden David Brünner

Ich habe per USER die Breadcrumb zur Anzeige von Behörden erweitert.

Das Resultat für eine Behörde sieht so aus:

Behörde A  --> Unterbehörde AA  --> Weitere Unterbehörde AAA

wobei alle Teile, bis auf den letzten (hier: 'Weitere Unterbehörde AAA'), 
verlinkt sind.

Bisher setze ich das so um:

[code]
tmp < lib.breadcrumb
lib.breadcrumb = COA
lib.breadcrumb {
 10 < tmp

 20 = USER
 20.userFunc = MeinNS\UserClass->extendBreadrumb
}
[/code]

Jetzt würde ich das aber gerne mit typolink umsetzen.

Ist das möglich aus meiner Klasse (die in USER, bzw. userfunc aufgerufen wird) 
Zugriff aus das TypoScript der Seite zu bekommen und diese zu erweitern?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Navigation wird bei einigen Seiten nicht angezeigt

2017-12-14 Diskussionsfäden David Brünner

Hast du vielleicht bei diesen zwei Seiten den Punkt 'In Menüs verbergen' 
aktiviert?

rechtsklick auf Seite-->Bearbeiten-->Tab 'Zugriff'


Wenn du Zugirff auf die Datenbank hast:
In der pages-Tabelle gibt es ein Attribut 'nav_hide' das evtl. auf 1 steht.

Also:
SELECT * FROM pages WHERE nav_hide=1
wird dann 2 Einträge liefern - den Wert einfach auf 0 setzen

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

[TYPO3-german] Re: typo3 8.7.6 EXT form GET Parameter

2017-12-14 Diskussionsfäden David Brünner

Hallo,

ich habe da jetzt mal ein kleines funktionierendes Beispiel geschreiben.

Lege zum testen noch folgendes im Seitenbaum an:
'root'  # Startseite zum testen - id=1
-- 'Mercedes'  # Seite, die bei Klick Parameter 1 setzt
-- 'Audi'  # Seite, die bei Klick Parameter 2 setzt

setup.ts:
[code]
lib.menu = HMENU
lib.menu {
special = directory
special.value = 1

1 = TMENU
1 {
NO = 1
NO {
allWrap = |
stdWrap.cObject = CASE
stdWrap.cObject {
key.field = uid

5 = TEXT
5.value = Mercedes
5.typolink.parameter = &wagen=1

6 = TEXT
6.value = Audi
6.typolink.parameter = &wagen=2

default = TEXT
default.field = title
}
}
}
}

page = PAGE
page {
10 < lib.menu

20 < styles.content.get
20.select {
pidInList = 1
}
}

plugin.tx_form {
settings {
formDefinitionOverrides {
testform {
renderables {
0 {
renderables {
1 {
# only for test 
wheter GP:wagen has correct value
label = TEXT
label {

stdWrap.data = GP:wagen

stdWrap.noTrimWrap = |Vorsausgewähltes Model: ||
}

defaultValue = 
TEXT
defaultValue {

stdWrap.data = GP:wagen

stdWrap.insertData = 1
}
}
}
}
}
}
}
}
}
[/code]

test.yaml - Konfiguration für Testformular:
[code]

renderingOptions:
 submitButtonLabel: Submit
type: Form
identifier: testform
label:
prototypeName: standard
finishers:
 -
   options:
 pageUid: '1'
 additionalParameters: ''
   identifier: Redirect
renderables:
 -
   renderingOptions:
 previousButtonLabel: 'Previous step'
 nextButtonLabel: 'Next step'
   type: Page
   identifier: page-1
   label:
   renderables:
 -
   defaultValue: wert
   type: Hidden
   identifier: hidden-1
   label: Hidden
 -
   properties:
 options:
   1: Mercedes
   2: Audi
   type: SingleSelect
   identifier: singleselect-1
   label: Einfachauswahl

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

[TYPO3-german] Re: Ajax mit eID: Alternative zu TYPO3\CMS\Core\Http\AjaxRequestHandler

2017-12-18 Diskussionsfäden David Brünner

Habe etwas rumprobiert und eine Lösung gefunden.

Alles wie bisher.

ext_localconf.php
[code]
$GLOBALS['TYPO3_CONF_VARS']['BE']['AJAX']['kkbaybwBackendImageInWYSIWIG'] = [
'callbackMethod' => 
'KKSoftware\\Kkbaybw\\Controller\\BaseController->imageUploadInWYSIWIG'
];
[/code]

BaseController::imageUploadInWYSIWIG()
[code]
public function imageUploadInWYSIWIG() {
  ...
  return json_encode(['parameter' => $value];
}
[/code]

Also hier einfach die Funktionsargumente weglassen.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Ajax mit eID: Alternative zu TYPO3\CMS\Core\Http\AjaxRequestHandler

2017-12-19 Diskussionsfäden David Brünner

Es hat sich ein Fehler eingeschlichen:

In der Ajax-Fkt. des Controllers das 
[code]return json_encode([xxx])[/code]

duch das ersetzen
[code]echo json_encode([xxx])[/code]

@Dr. Dieter Porth
Das Problem mit meiner ersten Lösung mit den Funktionsargumenten
[code]
public function imageUploadInWYSIWIG($params = [], 
TYPO3\CMS\Core\Http\AjaxRequestHandler $ajaxObj = null)
[/code]
war, das das 2. Argument (TYPO3\CMS\Core\Http\AjaxRequestHandler) als 
deprecated markiert ist und mit Version9 entfernt wird.

Deshalb habe ich eine Alternative dazu gesucht - und gefunden.
Die Argumente einfach weglassen und die Rückgabe mit 
[code]echo json_encode()[/code]

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

[TYPO3-german] Sorting mit DataHandler

2017-12-30 Diskussionsfäden David Brünner

Ich habe zum Testen eine Extension(testsort) mit folgender Struktur angelegt:

Tabelle 'Gebaeude':
Property: 'name'

Tabelle 'Person':
Property: 'name'
FKey: gebaeude

Wird die Extension installiert, werden drei Tabellen
- tx_testsort_domain_model_gebaeude
- tx_testsort_domain_model_person
- tx_testsort_person_gebaeude_mm
angelegt.

Testweise habe ich 5 Gebäude angelegt:
G1, G2, G3, G4, G4

Und eine Person (P1) mit drei Gebäuden: G1, G3, G5
Ich brauche aber eine Möglichkeit die zugewiesenen Gebäude sortieren zu können 
- im BE geht das einfach indem ich in der Mutliselect Box dein Eintrag nach 
oben oder Unten verschiebe.

Aber wie mache ich das in meinem eigenen Modul?

Ich habe jetzt gelesen, dass genau dafür DataHandler da sind.
Aber leider konnte ich nicht nachvollziehen wie das geht.

Ich habe es mal mit folgendem Code probiert:
---
$cmd['tx_testsort_person_gebaeude_mm'][1]['move'] = 10;
$tce = 
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
$tce->stripslashes_values = 0;
$tce->start(array(), $cmd);
$tce->process_cmdmap();
---
Damit wollte ich den Eintrag mit der ID 1 in der Tabelle 'tx_testsort_person_gebaeude_mm' auf Platz 10 verschieben. 
Aber leider bewirkt der obige Code garnichts.


Hat jemand einen Tip oder hat einen Hinweis zum debugen der im BE verwendeten 
Möglichkeit zum verschieben der Einträge.


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

[TYPO3-german] Re: Sorting mit DataHandler

2017-12-31 Diskussionsfäden David Brünner

Nach weiterer Recherche denke ich muss es heißen:

-
$data['tx_testsort_domain_model_person'][5] = [
'sorting' => 1
];
$tce = 
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
$tce->start($data, []);
$tce->process_datamap();
-
Also statt 
FALSCH :$tce->process_cmdmap() 
RICHTIG: $tce->process_datamap()


Und im $data-Array 'tx_testsort_domain_model_person' anstatt die mn-Tabelle.
(Da nur die zwei 'normalen' Tabellen (person, gebaeude) in 
typo3\sysext\core\Classes\DataHandling\DataHandler.php im Array $orderOfTables 
(Zeile 990) verfügbar sind).

Aber es funktioniert trotzdem nicht.

Ich vermute das ich das TCA noch anpassen muss um Zugriff auf das Feld 
'sorting' der mn-Tabelle zu bekommen.
Aber ich habe keine Ahnung wie.

Anbei mal das TCA von 'tx_testsorting_domain_model_person':
-
 [
   'title'  => 
'LLL:EXT:testsort/Resources/Private/Language/locallang_db.xlf:tx_testsort_domain_model_person',
   'label' => 'name',
   'tstamp' => 'tstamp',
   'crdate' => 'crdate',
   'cruser_id' => 'cruser_id',
'sortby' => 'sorting',
'versioningWS' => true,
   'languageField' => 'sys_language_uid',
   'transOrigPointerField' => 'l10n_parent',
   'transOrigDiffSourceField' => 'l10n_diffsource',
'delete' => 'deleted',
'enablecolumns' => [
   'disabled' => 'hidden',
   'starttime' => 'starttime',
   'endtime' => 'endtime',
   ],
'searchFields' => 'name,gebaeude',
   'iconfile' => 
'EXT:testsort/Resources/Public/Icons/tx_testsort_domain_model_person.gif',
   ],
   'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, 
l10n_diffsource, hidden, name, gebaeude',
   ],
   'types' => [
'1' => ['showitem' => 'sys_language_uid, l10n_parent, 
l10n_diffsource, hidden, name, gebaeude, 
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, 
starttime, endtime'],
   ],
   'columns' => [
'sys_language_uid' => [
'exclude' => true,
'label' => 
'LLL:EXT:lang/locallang_general.xlf:LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'special' => 'languages',
'items' => [
[

'LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages',
-1,
'flags-multiple'
]
],
'default' => 0,
],
   ],
   'l10n_parent' => [
   'displayCond' => 'FIELD:sys_language_uid:>:0',
   'exclude' => true,
   'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
   'config' => [
   'type' => 'select',
   'renderType' => 'selectSingle',
   'items' => [
   ['', 0],
   ],
   'foreign_table' => 'tx_testsort_domain_model_person',
   'foreign_table_where' => 'AND 
tx_testsort_domain_model_person.pid=###CURRENT_PID### AND 
tx_testsort_domain_model_person.sys_language_uid IN (-1,0)',
   ],
   ],
   'l10n_diffsource' => [
   'config' => [
   'type' => 'passthrough',
   ],
   ],
't3ver_label' => [
   'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
   'config' => [
   'type' => 'input',
   'size' => 30,
   'max' => 255,
   ],
   ],
'hidden' => [
   'exclude' => true,
   'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
   'config' => [
   'type' => 'check',
   'items' => [
   '1' => [
   '0' => 'LLL:EXT:lang/locallang_core.xlf:labels.enabled'
   ]
   ],
   ],
   ],
'starttime' => [
   'exclude' => true,
   'l10n_mode' => 'mergeIfNotBlank',
   'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
   'config' => [
   'type' => 'input',
   'size' => 13,
   'eval' => 'datetime',
   'default' => 0,
   ]
   ],
   'endtime' => [
   'exclude' =>

[TYPO3-german] Re: Sorting mit DataHandler

2017-12-31 Diskussionsfäden David Brünner

(-: (-: (-: (-: (-: (-: (-: (-:
(-:   ICH HABS!!!(-: 
(-: (-: (-: (-: (-: (-: (-: (-:


Einfach den folgenden Code an eine geeignete Stelle (in meinem Fall im 
Controlleraction):
[code]
$data['tx_testsort_domain_model_person'][5] = [
'gebaeude' => '1,4,2'
];

$tce = 
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
$tce->start($data, []);
$tce->process_datamap();
[/code]

Die gewünschten Gebäude, bzw. deren Reihenfolge, ergibt sich einfach durch den 
String der an $data[xxx][]['gebaeudue'] übergeben wird.
Im Bsp.:
Sorting1: Gebäude mit UID 1
Sorting2: Gebäude mit UID 4
Sorting3: Gebäude mit UID 2

Übrigens:
Eine nicht exisitierende UID wird einfach übergangen - gibt also keinen Fehler 
bei fehlerhaften Zuweisung.

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

[TYPO3-german] Re: typo3 8.7.6 EXT form GET Parameter

2018-01-04 Diskussionsfäden David Brünner

Hallo,

so merkwürdig es auch klingen mag:
An einem Tag wurde bei Klick auf eins der Menuelemente (Mercedes oder Audi) 
sowohl das Label als auch der Wert des Selectfeldes aktualisiert.
Am nächsten Tag wurde beim Klick lediglich das Label aktualisiert und das 
Selecfeld erst nach Reload (F5) der Seite.

Vielleicht hilft es diesen Teil

[code]
defaultValue = TEXT
[/code]

in ein COA_INT einzupacken - damits nicht gecached wird.
Ansonsten würde ich halt einfach bei Klick auf Menuitem Seite manuell 
aktualisieren.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Nativer SQL mit zwei Tabellen

2018-01-15 Diskussionsfäden David Brünner

Hallo,

ich möchte gerne (auf einen Rutsch) zwei Tabellen abfragen.
Ich möchte alle Einträge aus der Tabelle 'tx__xxx_gebaeude' und 
'tx_xxx_xxx_ansprechpartner'

Dazu hab ich mir gedacht ich erstellte mir ein Model/Repository und mappe 
dieses auf eine der beiden gewünschten Tabellen:

in der setup.ts
[code]
KKSoftware\Kkbaybw\Domain\Model\FeSearch {
 mapping {
   tableName = tx_kkbaybw_domain_model_gebaeude
 }
[/code]

Und im Model 
[code]

namespace KKSoftware\Kkbaybw\Domain\Model;

class FeSearch extends BaseModel {

/**
 * vorname
 *
 * @var string
 */
protected $vorname = '';

/**
 * bezeichnung
 *
 * @var string
 */
protected $bezeichnung = '';


/**
 * Returns the vorname
 *
 * @return string $vorname
 */
public function getVorname() {
return $this->vorname;
}

/**
 * @return string $bezeichnung
 */
public function getBezeichnung() {
return $this->bezeichnung;
}
}
[/code]

das Repository hat nur eine Methode:
[code]
namespace KKSoftware\Kkbaybw\Domain\Repository;

class FeSearchRepository extends BaseRepository {
public function customQuery() {
$query = $this->createQuery();
$query->getQuerySettings()->setRespectStoragePage(false);
$query->statement('SELECT * FROM 
tx_kkbaybw_domain_model_gebaeude AS ge LEFT JOIN 
tx_kkbaybw_domain_model_ansprechpartner AS an ON ge.uid = an.gebaeude_id');
return $query->execute();
}
[/code]

Das liefert dann auch etwa 400 Ergebnisse:
[code]
TYPO3\CMS\Extbase\Persistence\Generic\QueryResult {
.. 
 {

   vorname => ''
   bezeichnung = 'Gebäude1',
   uid => 1,
   _localizeUid => 1,
   _languageUid => 0,
   _versionedUid => 1,
   pid => 1,
 ...
 {
   vorname => ''
   bezeichnung => 'Gebäude1',
   uid => 11,
   _localizedUid => 11,
   _languageUid => 0,
   _verionedUid = 11,
   pid => 1
 }
..
}
[/code]
D.h. der Teil der aus der Gebäude-Tabelle kommt ('bezeichnung') ist immer 
gefüllt.
Der Teile der dann aus Ansprechpartner kommt ('vorname') nicht.

Wie bekomme ich die gejointen Daten??
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Nativer SQL mit zwei Tabellen

2018-01-15 Diskussionsfäden David Brünner

Was ich eigentlich vorhabe, ist eine UNION-Select

[code]
public function customQuery() {
...
 $query->statement('SELECT uid, null, bezeichnung FROM 
tx_kkbaybw_domain_model_gebaeude UNION ALL SELECT uid, vorname, nachname FROM 
tx_kkbaybw_domain_model_ansprechpartner');
...
}
[/code]

Damit bekomme ich auch die richtige Anzahl an Datensätzen geliefert, aber die 
Resultate die vom zweiten Teil (rechts vom UNION) herkommen sind leer.

[code]
TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (16 items) {
 0 =>+ KKSoftware\Kkbaybw\Domain\Model\FeSearch (uid=1, pid=0)
..
 16 => + KKSoftware\Kkbaybw\Domain\Model\FeSearch (uid=17, pid=0)
 17 => KKSoftware\Kkbaybw\Domain\Model\FeSearch 'see above' (uid=1, pid=0)
...
 22 => KKSoftware\Kkbaybw\Domain\Model\FeSearch 'see above' (uid=6, pid=0)
}
[/cde]

Hier sieht man, das das QueryResult-Obj von 0 bis 16 gefüllt ist (das kommt vom 
linken Teil des UNION).
Mit '+' markiert um zu verdeutlichen, das hinter dem Object noch was da ist - 
Ausgabe von DebuggerUtility.

Die Teile 17-22 sind leer. In der Ausgabe vom DebuggerUtility steht vermerkt 
'see above' - heißt das weil der Primarykey 'uid' bereits verwendet wird ist 
das Objekt gleich dem oberen? Wenn dem so ist, wie bekomme ich zusätzlich das 
untere (also das wo zur Zeit nur 'see above' steht).

[code]
..
... UNION ALL SELECT uid as uid2 ...
[/code]
funktioniert nicht
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Nativer SQL mit zwei Tabellen

2018-01-16 Diskussionsfäden David Brünner

Hallo Stephan,

danke für Deine Erklärung.

Ich habe jetzt in der DB einen View angelegt - nach deinem Codebeispiel 
(ViewName: tx_kkbaybw_domain_model_fesearch).
Dann habe ich ein Model angelegt - 
[code]


 */
protected $gebaeude;

/**
 * @var 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\KKSoftware\Kkbaybw\Domain\Model\Ansprechpartner>
 */
protected $ansprechpartner;

/**
 * @return string
 */
public function getName() {
return $this->name;
}

/**
 * @return string
 */
public function getName2() {
return $this->name2;
}

/**
 * @return 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\KKSoftware\Kkbaybw\Domain\Model\Gebaeude>
 */
public function getGebaeude() {
return $this->gebaeude;
}

/**
 * @return 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\KKSoftware\Kkbaybw\Domain\Model\Ansprechpartner>
 */
public function getAnsprechpartner() {
return $this->ansprechpartner;
}

}
[/code]
und ein leeres Repository.

Dann greife ich auf die Daten zu:
[code]
$feSearchRepository = 
$this->objectManager->get('KKSoftware\\Kkbaybw\\Domain\\Repository\\FeSearchRepository');
$result = $feSearchRepository->findAll();
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($result);exit;
[/code]

Damit bekomme ich auch die richtige Anzahl an Datensätzen, diese sind aber fast 
leer:

[code]
TYPO3\CMS\Extbase\Persistence\Generic\QueryResult {
 0 => KKSoftware\Kkbaybw\Domain\Model\FeSearch {
   name => NULL,
   name2 => NULL,
   gebaeude => NULL,
   ansprechpartner => NULL,
   uid => 11,
   _localizedUid => 11,
   _languageUid => NULL,
   _versionedUid => 11,
   pid => 0
 },
 ...
 34 => KKSoftware\Kkbaybw\Domain\Model\FeSearch {
   name => NULL,
   name2 => NULL,
   gebaeude => NULL,
   ansprechpartner => NULL,
   uid => 29,
   _localizedUid => 29,
   _languageUid => NULL,
   _versionedUid => 29,
   pid => 0
 }
}
[/code]

Was habe ich vergessen?

Das ganze hat bisher noch nicht wirklich einen Sinn - soll erstmal als POC 
dienen.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Nativer SQL mit zwei Tabellen

2018-01-16 Diskussionsfäden David Brünner

Ich habs hinbekommen. TCA hat gefehlt - dachte das wird nur für die BE-Views 
benötigt.

Also mal alles zusammen:
[code]
CREATE view tx_kkbaybw_domain_model_fesearch AS
SELECT (uid + 10) AS uid, bezeichnung AS name, '' AS vorname, '' AS 
nachname, '' AS gebaeude
FROM tx_kkbaybw_domain_model_gebaeude
UNION ALL
SELECT (uid + 20) AS uid, concat(vorname, ' ', nachname) AS name, vorname, 
nachname, gebaeude_id AS gebaeude
FROM tx_kkbaybw_domain_model_ansprechpartner
[/code]

Model
[code]

 */
protected $gebaeude;

/**
 * @return string
 */
public function getName() {
return $this->name;
}

/**
 * @return string
 */
public function getVorname() {
return $this->vorname;
}

/**
 * @return string
 */
public function getNachname() {
return $this->nachname;
}

/**
 * @return 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\KKSoftware\Kkbaybw\Domain\Model\Gebaeude>
 */
public function getGebaeude() {
return $this->gebaeude;
}
}
[/code]

Repository ist lediglich eine leere Klasse.

TCA
[code]
 [
'name' => [
'exclude' => false,
'label' => 'name',
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
]
],
'vorname' => [
'exclude' => false,
'label' => 'vorname',
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
]
],
'nachname' => [
'exclude' => false,
'label' => 'nachname',
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
]
],
'gebaeude' => [
'exclude' => true,
'label' => 'gebaeude',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_tabel' => 
'tx_kkbaybw_domain_model_gebaeude',
],
],
]
];
[/code]
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] UNION SELECT und Zugriff auf MM-Tabelle

2018-01-17 Diskussionsfäden David Brünner

Dank Stephan Schuler habe ich es hinbekommen diese Tabelle (bzw. View)

[code]
CREATE VIEW tx_kkbaybw_domain_model_fesearch AS
SELECT
(uid + 10) AS uid,
bezeichnung AS name,
'' AS vorname,
'' AS nachname,
concat(telefon_landvorwahl, ' ', telefon_ortsvorwahl, ' ', 
telefon_durchwahl) AS telefon,
concat(fax_landvorwahl, ' ', fax_ortsvorwahl, ' ', 
fax_durchwahl) AS fax,
'' AS email,
'' AS mobile,
'' AS sprechzeiten_nach_vereinbarung,
'' AS sprechzeiten_sonderzeiten,
oeffnungszeit_nach_vereinbarung AS 
oeffnungszeit_nach_vereinbarung,
oeffnungszeit_sonderzeiten AS oeffnungszeit_sonderzeiten,
concat(oeffnungszeit_mo_von_vormittags, ' - ', 
oeffnungszeit_mo_bis_vormittags) AS oeffnungszeit_mo_vormittags,
concat(oeffnungszeit_mo_von_nachmittags, ' - ', 
oeffnungszeit_mo_bis_nachmittags) AS oeffnungszeit_mo_nachmittags,
concat(oeffnungszeit_di_von_vormittags, ' - ', 
oeffnungszeit_di_bis_vormittags) AS oeffnungszeit_di_vormittags,
concat(oeffnungszeit_di_von_nachmittags, ' - ', 
oeffnungszeit_di_bis_nachmittags) AS oeffnungszeit_di_nachmittags,
concat(oeffnungszeit_mi_von_vormittags, ' -', 
oeffnungszeit_mi_bis_vormittags) AS oeffnungszeit_mi_vormittags,
concat(oeffnungszeit_mi_von_nachmittags, ' - ', 
oeffnungszeit_mi_bis_nachmittags) AS oeffnungszeit_mi_nachmittags,
concat(oeffnungszeit_do_von_vormittags, ' _ ', 
oeffnungszeit_do_bis_vormittags) AS oeffnungszeit_do_vormittags,
concat(oeffnungszeit_do_von_nachmittags, ' - ', 
oeffnungszeit_do_bis_nachmittags) AS oeffnungszeit_do_nachmittags,
concat(oeffnungszeit_fr_von_vormittags, ' - ', 
oeffnungszeit_fr_bis_vormittags) AS oeffnungszeit_fr_vormittags,
concat(oeffnungszeit_fr_von_nachmittags, ' - ', 
oeffnungszeit_fr_bis_nachmittags) AS oeffnungszeit_fr_nachmittags,
'gebaeude' AS typ,
'' AS gebaeude,
'' AS behoerde
FROM tx_kkbaybw_domain_model_gebaeude
UNION ALL
SELECT
uid AS uid,
concat(vorname, ' ', nachname) AS name,
vorname AS vorname,
nachname AS nachname,
concat(telefon_landvorwahl, ' ', telefon_ortsvorwahl, ' ', 
telefon_durchwahl) AS telefon,
concat(fax_landvorwahl, ' ', fax_ortsvorwahl, ' ', 
fax_durchwahl) AS fax,
concat(mobil_landvorwahl, ' ', mobil_ortsvorwahl, ' ', 
mobil_durchwahl) AS mobile,
email AS email,
sprechzeiten_nach_vereinbarung AS 
sprechzeiten_nach_vereinbarung,
sprechzeiten_sonderzeiten AS sprechzeiten_sonderzeiten,
'' AS oeffnungszeit_nach_vereinbarung,
'' AS oeffnungszeit_sonderzeiten,
'' AS oeffnungszeit_mo_vormittags,
'' AS oeffnungszeit_mo_nachmittags,
'' AS oeffnungszeit_di_vormittags,
'' AS oeffnungszeit_di_nachmittags,
'' AS oeffnungszeit_mi_vormittags,
'' AS oeffnungszeit_mi_nachmittags,
'' AS oeffnungszeit_do_vormittags,
'' AS oeffnungszeit_do_nachmittags,
'' AS oeffnungszeit_fr_vormittags,
'' AS oeffnungszeit_fr_nachmittags,
'ansprechpartner' AS typ,
gebaeude_id AS gebaeude,
ansprechpartner_behoerde AS behoerde
FROM tx_kkbaybw_domain_model_ansprechpartner;
[/code]

Mit einem Model abzufragen.

Aber leider kommen die Gebäude (tx_kkbaybw_domain_model_fesearch.gebaeude) und 
die Behörden (tx_kkbaybw_domain_model_fesearch.ansprechpartner_behoerde) nicht 
raus.

Ich habe rausgefunden, dass das an der Manipulation der UID liegt. Ändere ich 
in der MM-Tabelle (tx_kkbaybw_ansprechpartner_behoerde_mm - bzw. 
tx_kkbaybw_ansprechparter_gebaeude_mm) die localUid von zb. 12 auf 200012 dann 
funktionierts.

Habe die Doku zur TCA mal durchforstet und es mal mit 


[code]
..
'gebaeude' => [
 'exclude' => false,
 'label' => 'gebaeude',
 'config' => [
   'type' => 'select',
   'foreign_table' => 'tx_kkbaybw_domain_model_gebaeude',
   'MM' => 'tx_kkbaybw_ansprechpartner_gebaeude_mm',
   'MM_table_where' => 'OR local_uid = 200012'   /* hier sollte die 
Manipulation der UID berücksichtigt werden */
 ],
],
..
[/code]
probiert.
Aber leider ohne Erfolg.

Da ich nur auf der rechten Seite des UNION (also nur das wo das SELECT über 
gebaeude geht) brauche, habe ich es so gelöst, dass ich dort auf die 
Manipulation der UID (das +20) verzichte. Aber das ist nur eine Notlösung.

Kann jemand helfen?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3

[TYPO3-german] Verstecken zweier Links im News-Plugin

2018-02-05 Diskussionsfäden David Brünner

Ich möchte zwei Felder im News-Plugin verstecken.

Es handelt sich um die Felder 
- 'Neuen Tag-Datensatz erstellen'

- 'Neue Kategorie erstellen'

Ich habe der Benutzergruppe auf dem Tab 'Zugriffsliste' alle Berechtigungen bis 
auf 'Web>Nachrichten' entzogen.
Damit waren alle Buttons bis auf 'Neue Kategorie erstellen' weg.

Wie bekomme ich den Button 'Neue Kategorie...' weg?

In der Doku zur TSConfig habe ich den Abschnitt 'Blinding Function Menu options 
in Backend Modules' gelesen.
Kann ich damit was machen?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Verstecken zweier Links im News-Plugin

2018-02-06 Diskussionsfäden David Brünner

Habs gefunden.

Das Vorgehen war korrekt.
Unser Kunde hat aber in einer anderen Benutzergruppe fälschlicherweise das 
Recht für 'Kategorien' vergeben.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] SignalSlotDispatcher funktioniert nicht

2018-02-09 Diskussionsfäden David Brünner

Ich möchte bei jeder Änderung einer Seite benachrichtigt werden.
Dazu hab ich, erstmal zum testen, folgendes geschrieben.

in typo3conf\ext\kkbaybw\ext_localconf.php:

$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
'TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher'
);
$signalSlotDispatcher->connect(
'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Backend',
'afterUpdateObject',
'KKSoftware\\Kkbaybw\\Service\\SignalService',
'handleUpdateEvent'
);


Und die Datei SignalService.php in \typo3conf\ext\kkbaybw\Classes\Service:

namespace KKSoftware\Kkbaybw\Service;

use TYPO3\CMS\Core\SingletonInterface;
use TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface;

class SignalService implements SingletonInterface {
public function handleUpdateEvent(DomainObjectInterface $object, 
$signalInformation) {
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($object);exit;
}
}


Jetzt habe ich auf die Zeile '...DebuggerUtility::var_dump(...)' einen 
Breakpoint gesetzt.
Dieser wird nicht ausgelöst.


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

[TYPO3-german] Re: falsche pid welche garnicht angegeben ist

2018-02-09 Diskussionsfäden David Brünner

In der ersten Zeile

[globalVar = TSFE:id = 25]

fragst du ja ab, ob im Content die Seite mit der ID 25 geöffnet ist
--> deshalb bekommst du logischerweise den Inhalt von Seite mit der UID25 
geliefert.

und hier

stdWrap.wrap = 
references{
table = pages
uid = 27

sagst du, du willst die Referenzen von der Seite mit der ID 27.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Seite deaktiviert: Zustand nach unten vererben

2018-02-10 Diskussionsfäden David Brünner

Ich möchte den Zustand einer Seite nach unten vererben.
Heißt:
Ist 'Seite A' deaktiviert, sollen alle Kinder von 'Seite A' ebenfalls 
automatisch auch deaktiviert sein.

Wie löse ich das?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: SignalSlotDispatcher funktioniert nicht

2018-02-12 Diskussionsfäden David Brünner

Ich habe bemerkt, dass der SignalSlotDispatcher  funktioniert, wenn ich eine 
Änderung innerhalb meiner eigenen Extension durchführe.

Aber mein Vorhaben, auf eine Änderung in der pages-Tabelle zu reagieren, 
funktioniert nicht.
Gibt es eine Möglichkeit innerhalb meiner Extension auf eine Änderung 
(auserhalb meiner Extension) zu reagieren?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Fehler wenn Validierung fehlschlägt

2018-02-12 Diskussionsfäden David Brünner

Ich bekomme folgende Fehlermeldung, wenn meine Validierung fehlschlägt:

PHP Warning: htmlspecialchars() expects parameter 1 to be string, array given 
in 
/var/www/clients/client1/web1/web/typo3_src-8.7.8/vendor/typo3fluid/fluid/src/Core/ViewHelper/TagBuilder.php
 line 181

Meine Validatoren sehen so aus:

kkbaybw\Classes\Domain\Validator\Validator.php:

getOeffnungszeitSonderzeiten() == '') {

$this->result->forProperty('oeffnungszeitSonderzeiten')->addError(new 
Error('Sonderzeit muss gefüllt sein.', 987654321));
return false;
}
return true;
}
self::$count++;
}
}


kkbaybw\Classes\Domain\Validator\AnsprechpartnerValidator.php:

http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Fehler wenn Validierung fehlschlägt

2018-02-13 Diskussionsfäden David Brünner

Hallo Dieter,

Überprüfe Annotation im Model und Definition im TCA. Dort würde ich dem 
fehler am ehesten vermuten.


im Model passt alles.
--
/**
* gebaeudeId
*
* @var 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\KKSoftware\Kkbaybw\Domain\Model\Gebaeude>
* @lazy
*/
protected $gebaeudeId = null;

/**
* Returns the gebaeudeId
*
* @return 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\KKSoftware\Kkbaybw\Domain\Model\Gebaeude>
 $gebaeudeId
*/
public function getGebaeudeId() {
return $this->gebaeudeId;
}

/**
* Sets the gebaeudeId
*
* @param 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\KKSoftware\Kkbaybw\Domain\Model\Gebaeude>
 $gebaeudeId
* @return void
*/
public function setGebaeudeId(\TYPO3\CMS\Extbase\Persistence\ObjectStorage 
$gebaeudeId) {
$this->gebaeudeId = $gebaeudeId;
}
--

Habe gerade rausgefunden:

Kommentiere ich im GebaeudeValidator die Zeile 
 $this->result->forProperty('oeffnungszeitSonderzeiten')->addError(new Error('Sonderzeit muss gefüllt sein.', 987654321));

aus, bekomme ich keine Fehlermeldung.
Habe die Zeile auch mal so geschrieben wie sie in der Doku 
'Internationalization,Validation and Security' steht
 $this->addError('Sonderzeit muss gefüllt sein.', 987654321);
und erhalte die gleiche Fehlermeldung wie zuvor.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] News: Eigene Flexform - $this->settings fehlt

2018-02-13 Diskussionsfäden David Brünner

Ich vermisse die Konfiguration aus meiner Flexform.

Habe mit 


Eintrag in ext_localconf.php:
--
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][\TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools::class]['flexParsing'][]
 = \KK\News\Hooks\FlexFormHook::class;
--

classes\Hooks\FlexFormHook.php:
--
namespace KK\News\Hooks;

class FlexFormHook {
public function parseDataStructureByIdentifierPostProcess(array 
$dataStructure, array $identifier) {
if ($identifier['type'] === 'tca' && $identifier['tableName'] === 
'tt_content' && $identifier['dataStructureKey'] === 'news_pi1,list') {
$file = PATH_site . 
'typo3conf/ext/kknews/Configuration/FlexForms/additional.xml';
$content = file_get_contents($file);
if ($content) {
$dataStructure['sheets']['extraEntry'] = 
\TYPO3\CMS\Core\Utility\GeneralUtility::xml2array($content);
}
}
return $dataStructure;
}
}
--

und der Flexform (Configuration/FlexForms/additional.xml)
--



Kategorie

array



Wähle Basis Kategorie:

group

db
sys_category
10
0
999






--


einen neuen Tab der Flexform hinzugefügt.

In meiner Action  ist diese Eigenschaft (baseCategorie) nicht in 
$this->settings enthalten.

Lasse ich mir allerdings im Template mit
{_all -> f:debug()}
alles verfügbare anzeigen, existiert ein Array 'settings' und darin die 
'baseCategorie'.

Warum kann ich im Controller nicht darauf zugreifen?

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

[TYPO3-german] Re: News: Eigene Flexform - $this->settings fehlt

2018-02-13 Diskussionsfäden David Brünner

Hab die Konfiguration aus der DB entfernt.

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


[TYPO3-german] Image Rendering - Wo wird das Template festgelegt

2018-02-20 Diskussionsfäden David Brünner

Hallo,

ich möchte bei der Ausgabe eines Bildes zusätzlich einen Quellennachweis 
ausgeben.

Ich habe testweise ein Inhaltelement 'Text und Bilder" angelegt.
Das Bild wird durch das Partial 
'/typo3/sysext/fluid_styled_content/Resources/Private/Partials/Media/Gallery.html"
 ausgegeben.
(Das Partial wird im Template 
'/typo3/sysext/fluid_styled_content/Resources/Private/Templates/Textpic.html' 
eingebunden.)

Weiter wird das Bild im typoscript (siehe Objektbrowser) so dargestellt:
[code]
tt_content.textpic.dataProcessing.20 = 
TYPO3\CMS\Frontend\DataProcessing\GalleryProcessor
[/code]


D.h. ich müsste einfach irgendwo festlegen, dass nicht das oben genannte 
Partial (bzw. das Template) aus 
'typo3/sysext/fluid_styled_content/Resources/Private/Templates/Textpic.html' 
zur Anzeige des Bildes genommen wird, sondern ein von mir angepasstes Template.
Aber wo lege ich fest, von das Template geladen werden soll?
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Image Rendering - Wo wird das Template festgelegt

2018-02-20 Diskussionsfäden David Brünner

Danke dir!!!

Habe es mittlweile auch rausgefunden.

[code]
lib.contentelement.templateRootPaths {
 0 = x
 10 = {$styles.templates.templateRootPath}
}
[/code]

Also einfach die Konstante 
[code]

styles.templates.templateRootPath = fileadmin/Templates
[/code]
anlegen
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Bild einfügen im CKEditor - Contentelment 'Text'

2018-02-21 Diskussionsfäden David Brünner

Mit der Erweiterung 'rte_ckeditor_image' ist es möglich, im RTE ebenfalls 
Bilder einzufügen.

TEST1:
Ich habe als Beispiel ein Contentelement 'Title' angelegt, und im RTE ein Bild 
eingefügt.
Das ist dann das Resultat auf der FE-Seite:


Jetzt gehe ich in die Dateiliste und ändere für das Bild die Bildmetadaten - 
Title:test Alt:alt
Speichere (ohne sonstige Änderungen, wie zb. Bildgröße)

Lade im FE erneut die Seite.
--> Die Ausgabe im FE ist exakt die gleiche wie zuvor.



TEST2:
Die Änderungen in der Dateiliste habe ich wieder auf den Anfangszustand gesetzt.

Vorgehen ist exakt dasselbe wie bei TEST1, nur dass ich beim Einfügen des 
Bildes im RTE zusätzlich die Bildgröße ändere.

Nach dem Anlegen des Elements gehe ich in die Dateiliste und ändere für das 
Bild die Bildmetadaten - Title:Logo, Alt: Vogel
Speichere (diesmal MIT Änderung der Bildgröße)

Jetzt erhalte ich im FE:

--> Die Daten aus Dateiliste (für Titel, Alt) werden übernommen.

Ändere ich nun in der Dateiliste bei dem entsprechenden Bild die Angaben für 
Titel und Alt werden diese auch korrekt aktualiert.


Frage:
1. Warum funktioniert die Übernahme der Daten aus der Dateiliste nur bei 
geändertem Bild?
2. Wie kann ich beeinflussen, wann diese Übernahme stattfindet - bzw. was aus 
den Daten erzeugt wird?

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

[TYPO3-german] get_class(xxx): LazyLoadingProxy

2018-02-22 Diskussionsfäden David Brünner

Ich habe zwei Methoden. Um den Fehler nachzuvollziehen habe ich diese aufs 
minimalste Reduziert

[code]
public function copyObject($objectToCopy) {
 $result = $this->_copyObjectAndReturn($objectToCopy);
 $resultSub = 
$this->_copyObjectAndReturn($objectToCopy->getRegionaleErgaenzung());
 exit;
}

protected function _copyObjectAndReturn($objectToCopy) {
 $className = get_class($objectToCopy);
 echo $className . '';
}
[/code]

Ich erhalte dann folgende Ausgabe:
KKSoftware\Kkbaybw\Domain\Model\Leistung
TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy

Warum bekomme ich beim Aufruf von '_copyObjectAndReturn' mit 
'$objectToCopy->getRegionaleergaenzung()' ein LazuyLoadingProxy???

Wenn ich diese Codezeile zwischen die beiden Aufrufe von '_copyObjectAndReturn' 
setze, funktionierts:
[code]
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($objectToCopy->getRegionaleErgaenzung())';
[/code]
Jetzt bekomme ich statt des LazyLoadingProxy in der Ausgabe den korrekten Namen.

[code]
$this->objectManager->get("TYPO3\\CMS\\Extbase\\Persistence\\Generic\\PersistenceManager")->persistAll();
[/code]
statt dem var_dump bringt auch nix.

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


[TYPO3-german] Re: get_class(xxx): LazyLoadingProxy

2018-02-22 Diskussionsfäden David Brünner

RE: Das mit dem var_dump() zwischen den Aufrufen, scheint nicht immer zu 
funktionieren.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: get_class(xxx): LazyLoadingProxy

2018-02-22 Diskussionsfäden David Brünner

Eine Kollegin konnte helfen:

Einfach zwischen beide Aufrufe einmal 
[code]

$uid = $objectToCopy->getRegionaleErgaenzung()->getUid();
[/code]
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] LazyLoadingProxy bei Objektzugriff

2018-03-08 Diskussionsfäden David Brünner

Ich möchte von einem gerade über eine Get-Methode von einem Objekt geholten 
Unterobjekt den Klassennamen erfahren.
[code]
$obj = MyNS\Domain\Model\Ansprechpartner
$subObj = $obj->getLebenslage();
[/code]


Wenn ich mir mit
[code]
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($subObject);
[/code]

Das Unterobjekt anschaue, bekomme ich als Resultat 


 MyNS\Domain\Model\Lebenslage  prototype  persistent entity  (uid=1504, pid=1) {
   ...
 }

Also ein korrektes Objekt.

Wenn ich jetzt mir den Klassennamen dieses Objekt holen will - mit [code]get_class($subOject)[/code] - 
bekomme ich 
  'TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy'

geliefert.

Normalerweise hat es in einem solchen Fall gereicht, wenn ich vor dem Aufruf 
von 'get_class()' etwas an dem Objekt gemacht habe, also
[code]
$subObject->getUid();
[/code]


Aber ich bekomme immer nur 'LazyLoadingProxy' geliefert.
Warum??
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: LazyLoadingProxy bei Objektzugriff

2018-03-11 Diskussionsfäden David Brünner


Ich habs rausgefunden:

Einfach:
echo $subObject;

Intern ruft der die __toString() von AbstractDomainObject auf, die dann 
wiederum eigentlich auch get_class() (und getUid()) aufruft.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: Extbase: Sortierung von Kindobjekten

2018-03-11 Diskussionsfäden David Brünner

/**
 * Removes all children of given property and attaches them again in 
right order
 * @param $obj
 * @param $forProperty
 * @throws \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchArgumentException
 */
public function setSorting($obj, $forProperty) {
if ($this->request->hasArgument('swappedItems')) {
$swappedItems = 
(array)json_decode($this->request->getArgument('swappedItems'));
if ($swappedItems) {
// remove all childs
$obj->removeAllAttachedObjects($forProperty);

// attach in correct order
foreach ($swappedItems as $uid => $childs) {
$model = new ReflectionClass($obj);
if (property_exists($obj, 
$forProperty)) {
$propertDocComment = 
$model->getProperty($forProperty)->getDocComment();
preg_match('/.*\\\(.+)>/', 
$propertDocComment, $matches);
$repositoryName = $matches[1];
$repository = 
$this->objectManager->get('KKSoftware\Kkbaybw\Domain\Repository\\' . 
$repositoryName . 'Repository');
foreach ($childs as $child) {
$childObj = 
$repository->findByUid((int)$child);
$method = 'add' . 
ucfirst($forProperty);

$obj->{$method}($childObj);
}
}
}
}
}
}
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: Extbase: Sortierung von Kindobjekten

2018-03-11 Diskussionsfäden David Brünner

Aufrufen tust du das ganze so:
$this->setSorting($behoerde, 'behoerdeGebaeude');
--> Parameter1 ist das Objekt, in dem die Kindobjekte sortiert werden sollen
--> Parameter2 ist das Property, an dem die zu sortierenden Objekte dranhängen

Der RequestParamter 'swappedItems' bekomme ich in meinem Beispiel aus einem 
Formular.
In diesem Beispiel habe ich ein Formular für Behörden, diesen Behörden sind 1-n 
Gebäude zugewiesen. In meinem Formular werden diese Gebäude in einer Tabelle 
ausgegen und können mit Pfeilen neu Positioniert werden.
Das Resultat ist dann der RequestParameter 'swappedItems'.

Ich habe rausgefunden, dass die Kindobjekte bei der Objekterstellung in einer 
bel. Reihenfolge gespeichert werden.
Weist man aber die Kindobjekte erneut zu, diesmal in der gewünschten 
Reihenfolge, werden diese in der korrekten Reihenfolge gespeichert.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: Extbase: Sortierung von Kindobjekten

2018-03-11 Diskussionsfäden David Brünner

Das ist das JS, das das hidden Feld 'swappedItems' mit den korrekten Werten 
setzt:

[code]
// move listEntry up/down
$('.listEntry.actions').on('click', '.move', function() {
 var swappedItems = null;
 if ($('input[type="hidden"][name*="swappedItems"]').length) {
   // get item of clicked row
   var row = $(this).parents('tr');

   var move = $(this).hasClass('moveUp') ? 'up' : 'down';

   var swapWithItem = null;
   if (move == 'up') {
 swapWithItem = row.prev('tr');
 swapWithItem.before(row);
   } else {
 swapWithItem = row.next('tr');
 swapWithItem.after(row);
   }

   // get order of all entries
   var items = [];
   $(this).parents('tbody').first().find('tr').each(function () {
 items.push($(this).attr('data-uid'));
   });

   swappedItems = $('input[type="hidden"][name*="swappedItems"]');
   var tmp = {};
   tmp[$(this).parents('tbody').first().attr('data-uid')] = items;
   swappedItems.val(JSON.stringify(tmp));
 }
});
[/code]
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] Re: Extbase: Sortierung von Kindobjekten

2018-03-12 Diskussionsfäden David Brünner

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


  1   2   >