Joomla 입력 양식 필드 출력

Lars H. Thiesen

내가 원하는 것은 joomla 입력 양식에 기본 부트 스트랩 스타일을 지정하는 것입니다.

<div class="form-group">
<div class="input-group">
<span class="input-group-addon">some text</span>
<input class="form-control" />

기존 입력 클래스에 스타일을 적용하기 위해 적은 믹스 인을 사용하고 있습니다.

//input form fields
.validate-email{
   .form-control;
}

그리고 다른 html-changes에 대해 com_users / remind.php를 재정의하고 있습니다.

그러나 출력을 엉망으로 만드는 PHP 코드가 있습니다. 이것은 내가 재정의하는 com_users / remind.php의 원본 코드입니다.

   <fieldset>
         <?php foreach ($this->form->getFieldset($fieldset->name) as $name => $field) : ?>
            <div class="control-group">
               <div class="control-label">
                  <?php echo $field->label; ?>
               </div>
               <div class="controls">
                  <?php echo $field->input; ?>
               </div>
            </div>
         <?php endforeach; ?>
      </fieldset>

레이블 (위 참조)이 필요하지 않으므로 해당 줄을 삭제했습니다. 사용 가능한 모든 클래스를 변경하고 입력 필드 클래스를위한 믹스 인을 만들었습니다 (위 참조).

지금은 다음과 같습니다.

  <fieldset>
  <?php foreach ($this->form->getFieldset($fieldset->name) as $name => $field) : ?>
        <div class="form-group">
           <div class="input-group">
              <span class="input-group-addon">E-Mail</span>
              <?php echo $field->input; ?>
           </div>
        </div>
  <?php endforeach; ?>
  </fieldset>

그러나 그 코드의 주변 php-line은 이상한 일을하고 있습니다. 출력은 다음과 같습니다.

<fieldset>
                        <div class="form-group">
                    <div class="input-group">
                        <span class="input-group-addon">E-Mail</span>
                        <input type="email" aria-required="true" required="" size="30" value="" id="jform_email" class="validate-email invalid" name="jform[email]" aria-invalid="true">                    </div>
                </div>
                        <div class="form-group">
                    <div class="input-group">
                        <span class="input-group-addon">E-Mail</span>
                                            </div>
                </div>
                </fieldset>

그래서 첫 번째 양식 그룹-출력은 내가 원하는 것입니다. 두 번째 양식 그룹-출력은 일반적으로 입력 필드에 해당하는 레이블입니다. 이 두 번째 양식 필드 출력을 제거해야합니다.

핵심 해킹을하지 않고 joomla 입력 필드 출력을 재정의하는 방법을 찾고 있습니다. 문서가 제안하는 것처럼 내 양식 필드를 만들고 싶지 않습니다. http://docs.joomla.org/Creating_a_custom_form_field_type

PHP 오류를 생성하지 않고 "foreach"를 제거해야하지만 해당 PHP 코드를 변경하는 방법을 모릅니다. 또는 모든 추가 항목없이 전자 메일에 대한 입력 필드를로드해야하는데 그 방법을 모르겠습니다.

추가하여 내 자신의 필드 재정의를 만들려고했습니다.

JForm::addFieldPath(JPATH_THEMES . '/MyTemplate/html/fields');

그리고 상기 폴더에 Remind.php를 복사합니다. 그러나 그것은 내 사용자 정의 resolve.php를로드하지 않습니다. 문서는 getLabel을 재정의한다고 언급합니다.

public function getLabel() {
     return '<span style="text-decoration: underline;">' . parent::getLabel() . '</span>';}

하지만 getInput에서 사용하는 방법을 알아낼 수 없습니다.

누군가가 올바른 php-lines 또는 다른 더 간단한 솔루션을 가지고 있다면 pls가 알려주십시오. 나는 한동안 시행 착오를 겪었고 아이디어가 부족합니다. 고마워, Lars

Lars H. Thiesen

마지막으로 사용자 정의 필드를 추가하고 단일 입력 필드를 렌더링하는 방법을 찾았습니다 (Brian 덕분에). 이렇게하면 joomla 입력 양식 필드의 출력을 완전히 제어 할 수 있으며 업데이트가 가능하며 모든 파일이 MyTemplate 폴더에 있습니다. 기본적으로 재정의입니다. Joomla / components / com_users / remind에서 찾을 수있는 mind.php의 전체 프로세스를 보여주고 있습니다.

  1. joomla / components / com_users / views / remind에서 Joomla / templates / MyTemplate / html / com_users / remind로 모든 파일을 복사하여 템플릿 폴더에 com_users-override를 생성하고 있습니다.

  2. 나는 이러한 라인을 remind.php에 추가합니다.

    $this->form->reset( true ); // 뷰에 의해로드 된 양식 xml을 재설정합니다.

    $this->form->loadFile( dirname(__FILE__) . DS . "remind.xml"); // FILE 상수를 사용하여 내 자체 버전의 mind.xml을로드합니다.

이제 동일한 폴더에서 내 자신의 mind.xml을 사용할 수 있습니다.

  1. 나는 joomla / components / com_users / models / forms에서 Joomla / templates / MyTemplate / html / com_users / remind로 mind.xml을 복사합니다.

그리고 그 xml에 다음 줄을 추가합니다.

hint="This is the placeholder-text"
class="form-control"

전체 파일은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<form>
    <fieldset name="default" label="COM_USERS_REMIND_DEFAULT_LABEL">
        <field name="email" type="email"
            hint="My Placeholder"
            class="form-control"
            description="COM_USERS_FIELD_REMIND_EMAIL_DESC"
            label="COM_USERS_FIELD_REMIND_EMAIL_LABEL"
            required="true"
            size="30"
            validate="email"
        />
        <field
            name="captcha"
            type="captcha"
            label="COM_USERS_CAPTCHA_LABEL"
            description="COM_USERS_CAPTCHA_DESC"
            validate="captcha"
        />
    </fieldset>
</form>

물론 원하는 줄을 추가 할 수 있습니다.

  1. 이제 Joomla / templates / MyTemplate / html / com_users / remind-폴더에서 default.php를 변경합니다. Brian이 제안한 것과 비슷한 줄입니다 (죄송합니다. 코드 서식은 여기서 작동하지 않습니다).

    이메일 양식-> getInput ( 'email'); ?>

그게 다야.

HTML 출력은 다음과 같습니다.

<fieldset>
        <div class="form-group">
            <div class="input-group">
                <span class="input-group-addon">E-Mail</span>
                <input type="email" aria-required="true" required="" placeholder="My Placeholder" size="30" value="" id="jform_email" class="validate-email form-control" name="jform[email]">          </div>
        </div>
        </fieldset>

좋아,이 게시물에 제대로 표시되지 않는 코드가 있다는 것을 알고 있지만 수정 방법을 알 수 없으며 아직 스크린 샷을 게시 할 수 없습니다. 그 죄송합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Axapta 양식 입력 필드

분류에서Dev

JSP 양식 날짜 입력 필드

분류에서Dev

HTML 양식에 입력 필드 추가

분류에서Dev

중복 양식 필드 입력

분류에서Dev

Phoenix LiveView에서 제출 후 양식 입력 필드 재설정

분류에서Dev

주요 양식 입력 필드 및 제출 버튼 문제

분류에서Dev

입력 필드 값 변경시 양식 제출

분류에서Dev

입력시 양식의 다음 입력 필드 활성화

분류에서Dev

JS는 양식 제출 전에 확인 된 모든 입력 필드 값을 출력합니다.

분류에서Dev

제출되지 않은 양식의 텍스트 영역 필드 입력

분류에서Dev

JS 입력 유형 날짜 필드, 양식 제출 후 선택된 값 유지

분류에서Dev

KIE Workbench 양식 필드를 입력 / 출력 및 전역에 매핑하는 방법은 무엇입니까?

분류에서Dev

JSON 출력에서 Extjs 양식 필드 그룹화

분류에서Dev

HTML 입력 양식의 PHP 출력

분류에서Dev

jCanvas의 출력 양식 입력 값

분류에서Dev

입력 값 추가 및로드시 양식 제출

분류에서Dev

값이 반환 양식 JS 인 입력 필드의 값 사용

분류에서Dev

django 양식의 입력 필드가 표시되지 않음

분류에서Dev

입력 번호 양식 필드에 따라 가격 변경

분류에서Dev

목록에 텍스트 (양식) 필드 입력 추가

분류에서Dev

Jquery-숨겨진 입력 양식 필드 표시 / 숨기기

분류에서Dev

Jquery-숨겨진 입력 양식 필드 표시 / 숨기기

분류에서Dev

토글 끄기에서 양식 입력 필드 지우기

분류에서Dev

2 개의 입력 필드가있는 검색 양식

분류에서Dev

양식 필드에 가변 내용을 입력하는 방법

분류에서Dev

입력 필드에서 양식 유효성 검사 제거

분류에서Dev

입력 필드 조합에 대한 양식 유효성 검사

분류에서Dev

양식 필드, 오류 발생시 입력 데이터 유지

분류에서Dev

양식 필드에 경로를 수동으로 입력하기

Related 관련 기사

  1. 1

    Axapta 양식 입력 필드

  2. 2

    JSP 양식 날짜 입력 필드

  3. 3

    HTML 양식에 입력 필드 추가

  4. 4

    중복 양식 필드 입력

  5. 5

    Phoenix LiveView에서 제출 후 양식 입력 필드 재설정

  6. 6

    주요 양식 입력 필드 및 제출 버튼 문제

  7. 7

    입력 필드 값 변경시 양식 제출

  8. 8

    입력시 양식의 다음 입력 필드 활성화

  9. 9

    JS는 양식 제출 전에 확인 된 모든 입력 필드 값을 출력합니다.

  10. 10

    제출되지 않은 양식의 텍스트 영역 필드 입력

  11. 11

    JS 입력 유형 날짜 필드, 양식 제출 후 선택된 값 유지

  12. 12

    KIE Workbench 양식 필드를 입력 / 출력 및 전역에 매핑하는 방법은 무엇입니까?

  13. 13

    JSON 출력에서 Extjs 양식 필드 그룹화

  14. 14

    HTML 입력 양식의 PHP 출력

  15. 15

    jCanvas의 출력 양식 입력 값

  16. 16

    입력 값 추가 및로드시 양식 제출

  17. 17

    값이 반환 양식 JS 인 입력 필드의 값 사용

  18. 18

    django 양식의 입력 필드가 표시되지 않음

  19. 19

    입력 번호 양식 필드에 따라 가격 변경

  20. 20

    목록에 텍스트 (양식) 필드 입력 추가

  21. 21

    Jquery-숨겨진 입력 양식 필드 표시 / 숨기기

  22. 22

    Jquery-숨겨진 입력 양식 필드 표시 / 숨기기

  23. 23

    토글 끄기에서 양식 입력 필드 지우기

  24. 24

    2 개의 입력 필드가있는 검색 양식

  25. 25

    양식 필드에 가변 내용을 입력하는 방법

  26. 26

    입력 필드에서 양식 유효성 검사 제거

  27. 27

    입력 필드 조합에 대한 양식 유효성 검사

  28. 28

    양식 필드, 오류 발생시 입력 데이터 유지

  29. 29

    양식 필드에 경로를 수동으로 입력하기

뜨겁다태그

보관