2011-10-24 26 views
0

我正在構建一個joomla組件,但找不到以下解決方案。在我的前端,我使用類JToolbar中的joomlas構建來處理點擊事件,如編輯,刪除等。JToolbar前端點擊提交值

  <form action="<?php echo JRoute::_('index.php');?>" method="post" 
       name="termForm" id="adminForm"> 

       <table class="stripeMe"> 
        <tbody> 


        <thead> 

         <tr> 
          <th>Begriff</th> 
          <th>Definition</th> 



<?php if ($user->authorize('com_glossary', 'edit', 'glossary', 'all')): ?><th>Published</th> <?php endif; ?>  

     </tr> 
        </thead> 

       <?php foreach($this->items as $i => $item): ?> 

      <tr> 

       <td> 

       <span class="title"><?php echo $item->tterm; ?></span> 

        <?php if ($user->authorize('com_glossary', 'edit', 'bearbeiten', 'all')):?> 

         <?php echo $this->getEdit(); ?><?php endif; ?> 

       </td> 

       <td><?php echo $item->tdefinition; ?></td> 
       <?php if ($user->authorize('com_glossary', 'edit', 'bearbeiten', 'all')): ?> 
       <td><?php echo $this->getPublished(); ?></td> <?php endif; ?>  


      </tr> 
       <?php endforeach; ?> 

    </tbody> 
    </table> 

       <div> 
     <input type="hidden" name="task" value="" /> <input type="hidden" 
         name="id" value="" onclick="submitbutton(<?php echo count($item->id); ?>);" /> <input type="hidden" 
         name="option" value="com_glossary" /> <input type="hidden" 
         name="controller" value="bearbeiten" /> 


     <?php echo JHtml::_('form.token'); ?> 
    </div> 
      </form> 

我想傳遞給選定行按鈕事件的子控制器的ID,我真的不知道該怎麼辦呢

回答

0

這裏您在使用JToolBar的一些有用的提示在前端http://docs.joomla.org/How_to_use_the_JToolBar_class_in_the_frontend

我曾經做過一次,從我記得我做了一些技巧,使其工作。

1)首先去掉「ID」輸入,並添加以下一個在表單的末尾:

<input type="hidden" name="boxchecked" value="0" /> 

2.)其次確保MooTools是附接至源

3 。)最後:在那裏,你開始你的foreach循環,之後「TR」標籤添加另一個表列:

<td><?php echo JHTML::_('grid.id', $i, $item->id); ?></td> 

不要忘記創建本專欄的欄目標題爲thead

這些步驟將在每行的第一個單元格中創建一個複選框,並使表單能夠發送選定字段的id與請求。

編輯: TBODY標籤是在錯誤的地方,它應該是後THEAD標籤。還沒有使用附加事件的隱藏輸入,因爲它們不會被觸發

乾杯

彼得

+0

是的,我是想這很好,但即使是像我是從收到的最後一個值的循環。 – lgt

+0

我已經更新了我的答案 – WooDzu