【问题标题】:Understanding the path of JRoute::_( 'index.php' ); Joomla 1.5了解 JRoute::_( 'index.php' ) 的路径; Joomla 1.5
【发布时间】:2013-02-13 12:48:37
【问题描述】:

我正在尝试实现reCaptcha in the Contact manager module of Joomla 1.5 from these instructions。我有如下表格,如下所示:

<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' ); 指向哪里?

在那个索引文件中,我需要像这样引用 recaptchalib.php

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

我希望这是从 index.php 文件中引用 recaptchalib.php 的正确方法?

【问题讨论】:

    标签: php joomla joomla1.5 recaptcha


    【解决方案1】:

    JRoute::_("index.php") 确实是根 index.php。 但是您发布的表格不完整,丢失了

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

    option是组件的名称,所以处理你的请求的文件是/components/com_mycomponent/mycomponent.php。

    此类组件中调用的函数可以由参数'task'指定。

    此外,通常会指定控制器、视图和布局。

    我猜你应该在视图中插入你的 recaptcha 要求。

    阅读有关 Joomla MVC 或至少 MVC 的一些信息,并从核心组件中学习 :-)

    【讨论】:

    • 谢谢里卡多。我现在已经添加了整个表格,我看到你在谈论!我会读一读;)
    • 感谢您分享这些信息对我来说非常有价值,从 joomla 开始
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多