簡體   English   中英

前端的 Joomla JCE 編輯器:如何將“創建日期”字段添加到“發布”字段集中?

[英]Joomla JCE Editor in frontend: how to add "Create date" field to the "Publishing" fieldset?

在 Joomla 網站 (Joomla 2.5) 中,使用 JCE 編輯器,我想為前端編輯提供更多舒適度。 具體來說,我想讓我的編輯人員可以選擇手動設置文章的“創建日期”值。

背景:在后端,無論如何都可以手動設置“創建日期”。 在前端,目前還沒有這樣的選項,因為前端編輯表單不包括“創建日期”字段。 但是,它包括“開始發布”字段和“完成發布”字段。

(我也知道可以將“創建日期”字段添加到前端編輯表單中,因為幾年前我有一個類似的網站經過調整以提供此功能,但我不記得我是如何做到的,或者是誰為誰做的我。)

有問題的字段集是前端編輯表單的一部分:

編輯表單的“發布”字段集

這是瀏覽器中字段集的源代碼:

在此處輸入圖片說明

當然,要走的路是在“創建日期”字段中再添加一行,例如:

<div class="formelm><label id="jform... >Create Date</label></input id="jform... ></div>

我需要:

  • 在服務器上的 php 文件中找到它並對其進行調整的提示

  • 必須添加到其他 php 文件的提示,因為我認為僅在創建編輯表單的 php 文件中添加字段是不夠的,我必須調整其他文件,以便表單能夠與服務器上的數據庫...

在 Joomla 的 php 文件中進行了一些搜索后,我自己找到了解決方案。 這里是:

在前端編輯時呈現給前端訪問者的字段集在以下文件中定義:

/components/com_content/views/form/tmpl/edit.php

或在早期版本的 Joomla 中:

/components/com_content/views/article/tmpl/form.php

這是要添加的內容(包括一些上下文代碼); 請注意我的評論“CG添加”:

<fieldset>
    <legend><?php echo JText::_('COM_CONTENT_PUBLISHING'); ?></legend>
    <div class="formelm">
    <?php echo $this->form->getLabel('catid'); ?>
    <span class="category">
        <?php   echo $this->form->getInput('catid'); ?>
    </span>

    </div>
    <div class="formelm">
    <?php echo $this->form->getLabel('created_by_alias'); ?>
    <?php echo $this->form->getInput('created_by_alias'); ?>
    </div>

<?php if ($this->item->params->get('access-change')): ?>
    <div class="formelm">
    <?php echo $this->form->getLabel('state'); ?>
    <?php echo $this->form->getInput('state'); ?>
    </div>

    <div class="formelm">
    <?php echo $this->form->getLabel('featured'); ?>
    <?php echo $this->form->getInput('featured'); ?>
    </div>

<!-- Addition by CG to make the "Create Date" field available --> 

    <div class="formelm">
    <?php echo $this->form->getLabel('created'); ?>
    <?php echo $this->form->getInput('created'); ?>
    </div>

<!-- End of addition by CG -->

    <div class="formelm">
    <?php echo $this->form->getLabel('publish_up'); ?>
    <?php echo $this->form->getInput('publish_up'); ?>
    </div>
    <div class="formelm">
    <?php echo $this->form->getLabel('publish_down'); ?>
    <?php echo $this->form->getInput('publish_down'); ?>
    </div>

<?php endif; ?>
    <div class="formelm">
    <?php echo $this->form->getLabel('access'); ?>
    <?php echo $this->form->getInput('access'); ?>
    </div>
    <?php if (is_null($this->item->id)):?>
        <div class="form-note">
        <p><?php echo JText::_('COM_CONTENT_ORDERING'); ?></p>
        </div>
    <?php endif; ?>
</fieldset>

實際上就是這樣。 更多是沒有必要的。 新字段完全可用並與網站數據庫通信。

但是,如果這樣使用,前端用戶將以丑陋的“JGLOBAL_FIELD_CREATED_LABEL”字符串的形式顯示,而不是合理命名的標簽。

為了顯示一個好聽的名字(例如“創建日期”),我建議在后端的 Joomla 語言管理器中創建一個語言覆蓋; 或者您可以手動覆蓋相應語言文件中的值(例如 en-GB.ini,或者,如果存儲在“覆蓋”文件夾中:en-GB.override.ini),例如:

JGLOBAL_FIELD_CREATED_LABEL="Create date, or date of the event"

請注意,Joomla 2.5 中有兩個地方存儲語言設置,一個在主文件夾/語言中,另一個在管理員/語言中。

因此,前端編輯表單中的“發布”字段集將如下所示修改了發布字段集,添加了一個字段 所以:

暫無
暫無

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

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