2016-10-13 4 views
-1

Joomla 웹 사이트 (Joomla 2.5)에서 JCE 편집기를 사용하여 프론트 엔드 편집에 더 편한 느낌을주고 싶습니다. 특히, 편집 담당자에게 기사의 "Create Date"값을 수동으로 설정하는 옵션을 제공하려고합니다.Joomla JCE 편집기에서 프론트 엔드 : "게시 날짜"필드를 "게시"필드 세트에 추가하는 방법?

배경 : 백엔드에서는 "Create Date"를 수동으로 설정할 수 있습니다. 프론트 엔드에서는 프론트 엔드 편집 양식에 "작성 날짜"필드가 없으므로 그러한 옵션이 없습니다. 그러나 "게시 시작"필드와 "게시 완료"필드가 포함됩니다.

("Create Date"필드를 프론트 엔드 편집 양식에 추가 할 수 있다는 것도 알고 있습니다. 비슷한 웹 사이트에서 몇 년 전에이 기능을 제공하기 위해 조정 되었기 때문에이 작업을 어떻게 수행했는지 기억하지 못합니다. . 누가

문제의 필드 셋은 프런트 엔드 편집 양식의 일부입니다) 나를 위해 그것을했다 :

"Publishing" fieldset of the editing form

그리고 이것은 브라우저에서 FIELDSET의 소스 코드입니다

enter image description here

될 것입니다 갈 방법 물론, 같은 "날짜 만들기"필드 여기 하나 더 줄을 추가하기 :

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

I이 필요합니다

  • 팁 어디서 서버의 PHP 파일에서 이것을 찾을 것인가?

  • 거기에 다른 PHP 파일에 추가해야 할 내용, 왜냐하면 편집 폼을 생성하는 PHP 파일의 필드를 추가하는 것만으로 충분하지 않기 때문에 양식이 서버의 데이터베이스와 통신 할 수 있도록 다른 파일을 조정해야합니다.

+0

이 질문에 대한 나쁜 무엇입니까? –

답변

0

Joomla의 PHP 파일에서 일부 검색을 한 후에 직접 해결책을 찾았습니다. 여기있다 :

다음 파일에 정의되어, 프론트 엔드 편집시에 프론트 엔드 방문자에게 제공되는 필드 셋 :

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

줌라의

또는 이전 버전 :

/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" 

주 언어 설정이 저장되어있는 줌라 2.5 두 장소, 주요 폴더/언어 하나, 관리자/언어의 다른이 있다는 것을.

결과

, 프론트 엔드 편집 형태로 "출판"필드 셋은 Modified Publishing fieldset with one field added과 같이 보일 것이다 : 그것은 바로 -2을 downvoted있어 있도록