2015-07-12 11 views
5

यह मेरा पहला सवाल है इसलिए हैलो! मेरे प्रश्न के लिए: मैं एक बहुत ही आसान एक्स्टबेस एक्सटेंशन पर अभ्यास कर रहा हूं और तीन फॉर्मुलर फ़ील्ड प्राप्त करने के लिए फ्लेक्सफॉर्म का उपयोग करता हूं। उनमें से एक को "कोड" कहा जाता है जिसे एंबेडर कंट्रोलर.एफ़पी और फिर दर्शक सूची.html पर जाना चाहिए।फ्लेक्सफ़ॉर्म से कंट्रोलर तक मूल्य कैसे प्राप्त करें [Typo3]

मैंने बहुत कोशिश की और उन सभी ट्यूटोरियल की जांच की जिन्हें मैं पा सकता था। लेकिन किसी भी तरह से मैं वास्तव में समझ नहीं पा रहा हूं कि मेरे नियंत्रक में फ्लेक्सफॉर्म-वैल्यू "कोड" कैसे प्राप्त करें। जो भी मैं करता हूं मुझे कोई मूल्य या खाली पृष्ठ नहीं मिलता है।

यह मेरा FlexForm है: Embedder.xml

<T3DataStructure> 
     <meta type="array"> 
       <langChildren>0</langChildren> 
       <langDisable>1</langDisable> 
     </meta> 
     <ROOT> 
       <type>array</type> 
       <el> 
         <settings.code> 
           <TCEforms> 
             <label>Video Code</label> 
             <config> 
               <type>input</type> 
               <size>20</size> 
               <max>30</max> 
               <eval>trim</eval> 
             </config> 
           </TCEforms> 
         </settings.code> 
         <settings.width> 
           <TCEforms> 
             <exclude>1</exclude> 
             <label>Breite in Pixel</label> 
             <config> 
               <type>input</type> 
               <size>10</size> 
               <max>10</max> 
               <eval>trim</eval> 
             </config> 
           </TCEforms> 
         </settings.width> 
         <settings.height> 
           <TCEforms> 
             <exclude>1</exclude> 
             <label>Höhe in Pixel</label> 
             <config> 
               <type>input</type> 
               <size>10</size> 
               <max>10</max> 
               <eval>trim</eval> 
             </config> 
           </TCEforms> 
         </settings.height> 
       </el> 
     </ROOT> 
</T3DataStructure> 

और ये मेरे EmbedderController.php

<?php 
namespace HhuMediathek\Hhumediathek\Controller; 

/** 
* EmbedderController 
*/ 
class EmbedderController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController { 

     /** 
     * embedderRepository 
     * 
     * @var \HhuMediathek\Hhumediathek\Domain\Repository\EmbedderRepository 
     * @inject 
     */ 
     protected $embedderRepository = NULL; 

     /** 
     * action list 
     * 
     * @return void 
     */ 
     public function listAction() { 
       $this->settings['code']; 
     } 
} 

है और यह दर्शक List.html

<f:layout name="Default" /> 
<f:section name="main"> 
<iframe width='570' height='321' style='width: 570px; height: 321px; border: 1px solid #ccc;' src='//xxx.de/embed/{code}' frameborder='0' allowfullscreen></iframe> 
</f:section> 

उत्तर

7

ठीक है, मैं है खुद को समझ सकता है। लोगों के रूप में मैंने किया था, जो एक ही समस्या के साथ संघर्ष के लिए:

मेरे गलती थी, कि मैं नियंत्रक में लाइन $this->settings['code']; जरूरत नहीं थी बिल्कुल लेकिन {settings.code} दर्शक List.html के बजाय सिर्फ {code} में लिखें। यह मेरी किताब और कुछ ट्यूटोरियल में पढ़ने से काफी अलग है लेकिन यह वास्तव में काम करता है।

+0

क्या आप संकल्प ध्वज जोड़ सकते हैं, क्योंकि यह जानने के अलावा कि बिल्कुल कहां देखना है – webfacer

0

दृश्य पैरामीटर का असाइनमेंट गुम है। इसलिए

public function listAction() { 
    $this->view->assign('code', $this->settings['code']); 
} 

इस तरह {code} को

public function listAction() { 
    $this->settings['code']; 
} 

बदल दृश्य में उपलब्ध होना चाहिए।

संबंधित मुद्दे