2016-10-13 11 views
-1

JoomlaのWebサイト(Joomla 2.5)では、JCE Editorを使用して、フロントエンド編集にもっと快適にしたいと考えています。具体的には、編集スタッフに記事の「作成日」の値を手動で設定するオプションを与えたいと思います。フロントエンドのJoomla JCEエディタ:「公開」フィールドセットに「日付作成」フィールドを追加する方法は?

背景:バックエンドでは、「作成日」は手動で設定できます。フロントエンドの編集フォームには、 "Create Date"フィールドが含まれていないため、フロントエンドではこれまでのところ選択肢がありません。ただし、「出版の開始」フィールドと「出版の完了」フィールドが含まれています。

(私はまた、「作成日」フィールドをフロントエンドの編集フォームに追加することも可能であることを知っています。これは、年前にこの機能を提供するために類似のウェブサイトを調整したためです。 。誰が

問題のフィールドセットは、フロントエンドの編集フォームの一部である)私のためにそれをやった:

"Publishing" fieldset of the editing form

そして、これは、ブラウザでのフィールドセットのソースコードです:

私が必要

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

移動するための方法など、ここでは "作成日" フィールドに1つの以上の行を追加するために、当然のことながら、なり

  • A tipこれをサーバ上のphpファイルで見つけるには、それを微調整する

  • 先端そこに他のPHPファイルを追加する必要があります、編集フォームを作成するPHPファイルのフィールドを追加するだけでは不十分で、フォームがサーバー上のデータベースと通信できるように他のファイルを調整する必要があるからです...

+0

それはdownvotedてしまったよう-2すぐにこの問題について悪いですか? –

答えて

0

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の2箇所、メインフォルダ/言語の1、管理者/言語の他があること。

その結果、「出版」フィールドセットあなたのフロントエンドで編集フォームはとてもModified Publishing fieldset with one field added次のようになります。

関連する問題