eID und Select-Felder [Gelöst]

  • wolfi02 wolfi02
    R2-D2
    0 x
    108 Beiträge
    0 Hilfreiche Beiträge
    17. 06. 2010, 17:11

    Hallo Gemeinde,

    ich bin gerade dabei eine Extension zu bauen und machte ein paar Daten mit Ajax nachladen. Dazu verwende ich die eID Methode und als Hilfe habe ich das Buch von Dmitry Dulepov.

    Wenn ich die Daten mit Hilfe eines Input-Feldes nachladen möchte, funktioniert die Sache.

    1. <input type="text" value="" name="inputfeld[page]" id="inputfeld" autocomplete="off" />
    2.  
    3. <div id="inhaltnachladen"></div>
    4. <script type="text/javascript">
    5. tx_myFunction_init('inputfeld','inhaltnachladen',512);

    Das merkwürdige ist nur, wenn ich das ganze mit einer Select-Box mache, funktioniert es nicht. Die Daten werden einfach nicht nachgeladen.
    Hat jemand eine Idee?

    Lg Christian


  • 1
  • sunixzs sunixzs
    R2-D2
    0 x
    123 Beiträge
    2 Hilfreiche Beiträge
    21. 06. 2010, 13:05

    Hallo,

    gut wäre zu wissen, wie der Select-Quelltext aussieht und wie die Funktion tx_myFunction_init aussieht. In der Funktion wird wohl der Wert aus dem Select ausgelesen.

    LG Sun

  • onyx_no1 onyx_no1
    T3PO
    0 x
    23 Beiträge
    0 Hilfreiche Beiträge
    10. 12. 2010, 00:26

    Hallo, ich stehe vor dem gleichen Problem, wie wolfi02. Ich bin die Beschreibung mehrfach durchgegangen, aber irgendwie läuft es nicht.
    In einem anderen Forum wurde geschrieben, dass das eid-php-Script (www.domain.de/index.php?eid=tx_myext&param=xyz) auch so ansprechbar sein müsste. Das geht bei mir schon mal nicht.

    In der ext_localconf.php habe ich folgendes stehen:

    1. $TYPO3_CONF_VARS['FE']['eID_include']['tx_myext'] = 'EXT:myext/pi2/class.tx_myext_eid.php';

    Die class.tx_myext_eid.php sieht wie folgt aus:
    1. <?php
    2. require_once(PATH_t3lib.'class.t3lib_befunc.php');
    3. require_once(PATH_t3lib.'stddb/tables.php');
    4. require_once(t3lib_extMgm::extPath('cms','ext_tables.php'));
    5. class tx_myext_eid {
    6. function main() {
    7. ... hier wird die Datenbank abgefragt und $content mit Inhalt gefüllt ...
    8. echo $content;
    9. }
    10. }
    11. if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/myext/pi2/class.tx_myext_eid.php']) {
    12. include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/myext/pi2/class.tx_myext_eid.php']);
    13. }
    14. $SOBE = t3lib_div::makeInstance('tx_myext_eid');
    15. $SOBE->main();
    16. ?>

    Ist das soweit korrekt? Oder fehlt da noch was, um das eID-Script per URL ansprechen zu können?

    BTW: Laut dem Buch ist die JS-Funktion wie folgt aufgebaut:

    1. function tx_myFunction_init(ctrlId, acId, param) {
    2. document.observe('dom:loaded', function () {
    3. new Ajax.Autocompleter(ctrlId, acId, 'index.php', {
    4. parameters: 'eID=tx_myext&param=' + param,
    5. paramName: 'search'
    6. });
    7. });
    8. }

    Ich habe auf der Scriptaculous-Seite gesehen, das sich die Syntax ein bisschen anders angegeben ist ... ohne autocomplete="off" im <input>-Tag ... im Beispiel für Autocompleter.Local ist er noch drin.
    [url=http://madrobby.github.com/scriptaculous/ajax-autocompleter/]Ajax.Autocompleter[/url]
    Bin mir aber nicht sicher, ob das wolfi02 Problem löst.

    Hat jemand eine Idee, für einen Lösungsansatz meines Problems?

    Grüß

  • wolfi02 wolfi02
    R2-D2
    0 x
    108 Beiträge
    0 Hilfreiche Beiträge
    10. 12. 2010, 09:05

    Hallo onyx_no1,

    in der main-function gebe ich den content wie folgt zurück:

    1. $ajax_return_data = t3lib_div::array2xml(array('data'=>$content));
    2.  
    3. header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    4. header('Last-Modified: ' . gmdate( "D, d M Y H:i:s" ) . 'GMT');
    5. header('Cache-Control: no-cache, must-revalidate');
    6. header('Pragma: no-cache');
    7. header('Content-Length: '.strlen($ajax_return_data));
    8. header('Content-Type: text/xml');
    9.  
    10. echo $ajax_return_data;

    Was mich bei diesem Thema noch interessiert ist, wie man an die TypoScript-Konfiguration heran kommt. Bisher habe ich noch nichts gefunden, um die TS Einstellung auslesen und zu können. Bisher muss ich, wenn beispielsweise Bilder nachgeladen werden sollen, die Größenangaben immer fest im Code verankern, was sehr unpraktisch ist.

    Lg Christian

  • onyx_no1 onyx_no1
    T3PO
    0 x
    23 Beiträge
    0 Hilfreiche Beiträge
    10. 12. 2010, 09:54

    Hallo Christian,

    bin inzwischen dahinter gekommen, woran es bei mir hing:
    Ganz trivial: "eID" muss es in der URL lauten - nicht "eid". -.-
    War wahrscheinlich zu übermüdet.

    Dein Beispiel gefällt mir auch ganz gut.

    Gruß

  • wolfi02 wolfi02
    R2-D2
    0 x
    108 Beiträge
    0 Hilfreiche Beiträge
    10. 12. 2010, 10:24

    Hallo,

    ja manchmal sind es die kleine Sachen die einfach nicht auffallen wollen.

    Hättet du eine Idee oder Lösung wie man die TS Konfiguration rankommt?

    Lg

  • sunixzs sunixzs
    R2-D2
    0 x
    123 Beiträge
    2 Hilfreiche Beiträge
    10. 12. 2010, 10:34

    Hallo zusammen,

    für Ajax habe ich was in einem anderen Thread:

    http://www.typo3.net/forum/beitraege/extensions_schreiben/99538/beitrag/seite/

    In der eID-Klasse wird das Plugin instanziert (z. B. mit dem Parameter ($conf[ajax]= true).

    Dann steht auch die TS-Config zur Verfügung.

    LG sun

  • wolfi02 wolfi02
    R2-D2
    0 x
    108 Beiträge
    0 Hilfreiche Beiträge
    10. 12. 2010, 12:00

    Hallo sunixzs,

    hab vielen lieben Dank. Wie lange habe ich danach schon gesucht.

    Lg Christian

  • 1