簡體   English   中英

了解JRoute :: __('index.php');的路徑 Joomla 1.5

[英]Understanding the path of JRoute::_( 'index.php' ); Joomla 1.5

我正在根據這些說明在Joomla 1.5的聯系人管理器模塊中實現reCaptcha 我的表格如下所示:

<form action="<?php echo JRoute::_( 'index.php' );?>" method="post" name="emailForm" id="emailForm" class="form-validate">
        <div class="contact_email<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
            <label for="contact_name">
                &nbsp;<?php echo JText::_( 'Enter your name' );?>:
            </label>
            <br />
            <input type="text" name="name" id="contact_name" size="30" class="inputbox" value="" />
            <br />
            <label id="contact_emailmsg" for="contact_email">
                &nbsp;<?php echo JText::_( 'Email address' );?>:
            </label>
            <br />
            <input type="text" id="contact_email" name="email" size="30" value="" class="inputbox required validate-email" maxlength="100" />
            <br />
            <label for="contact_subject">
                &nbsp;<?php echo JText::_( 'Message subject' );?>:
            </label>
            <br />
            <input type="text" name="subject" id="contact_subject" size="30" class="inputbox" value="" />
            <br /><br />
            <label id="contact_textmsg" for="contact_text">
                &nbsp;<?php echo JText::_( 'Enter your message' );?>:
            </label>
            <br />
            <textarea cols="50" rows="10" name="text" id="contact_text" class="inputbox required"></textarea>
            <?php if ($this->contact->params->get( 'show_email_copy' )) : ?>
            <br />
                <input type="checkbox" name="email_copy" id="contact_email_copy" value="1"  />
                <label for="contact_email_copy">
                    <?php echo JText::_( 'EMAIL_A_COPY' ); ?>
                </label>
            <?php endif; ?>
            <br />
            <br />
            <button class="button validate" type="submit"><?php echo JText::_('Send'); ?></button>
        </div>

    <input type="hidden" name="option" value="com_contact" />
    <input type="hidden" name="view" value="contact" />
    <input type="hidden" name="id" value="<?php echo $this->contact->id; ?>" />
    <input type="hidden" name="task" value="submit" />
    <?php echo JHTML::_( 'form.token' ); ?>
</form>

在該index.php文件中,我需要添加一些其他代碼,以便在提交表單時,在驗證和發送表單之前先檢查代碼。

我正在假設,因此我在這里的原因是index.php是指根index.php文件? 或者如果我錯了, JRoute::_( 'index.php' );在哪里JRoute::_( 'index.php' ); 指向?

然后,在該索引文件中,我需要像下面這樣引用recaptchalib.php

        require_once('templates/templatename/html/com_contact/contact/recaptchalib.php');

我希望這是從index.php文件引用recaptchalib.php的正確方法?

JRoute :: __(“ index.php”)實際上是根index.php。 但是您發布的表單不完整,丟失了

<input type='hidden' name='option' value='mycomponent'
<input type='hidden' name='task' ...

option是組件的名稱,因此處理您的請求的文件是/components/com_mycomponent/mycomponent.php。

可以通過參數“任務”指定在此類組件中調用的功能。

另外,習慣上指定控制器,視圖和布局。

我猜您應該在視圖中插入您的recaptcha要求。

閱讀有關Joomla MVC或至少MVC的一些信息,並從核心組件中學習:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM