sfRad 템플릿 컬럼값을 sfIsad 템플릿에 추가 하기. (parallelTitleOfPublishersSeries 를 예로 듭니다.)

sfRad 템플릿 컬럼값을 sfIsad 템플릿에 추가 하기 입니다.
다를수도있습니다만. 저는 예로  parallelTitleOfPublishersSeries 이란 컬럼을 추가할예정입니다.

step 1
1.1 \plugins\sfRadPlugin\modules\sfRadPlugin\actions\editAction.class.php
31,32 번째 라인
  public static
    $NAMES = array(
에서 
parallelTitleOfPublishersSeries
을 찾습니다.
1.2
찾아서 있으면 
'parallelTitleOfPublishersSeries',을 
복사를 합니다.
1.3
\plugins\sfIsadPlugin\modules\sfIsadPlugin\actions\editAction.class.php의 
31,32라인 
  public static
    $NAMES = array(
의 맨 마지막 )위
69라인 엔터후 붙여넣기를 합니다.

step2
2.1
\plugins\sfRadPlugin\modules\sfRadPlugin\actions\editAction.class.php
protected function addField($name)
parallelTitleOfPublishersSeries 을 찾습니다.
만약 
parallelTitleOfPublishersSeries을 추가하고 싶으시면
152라인 에 
case 'parallelTitleOfPublishersSeries': 가 있습니다.
복사를 합니다,.
2.2
메모장을 열어 2.1 에 복사한걸 붙여넣습니다.

2.3
2.1번 복사한 라인을 쭉 내려보시면
case ~~~~ 가 없는 부분이 있습니다.
(
만약 
parallelTitleOfPublishersSeries을 추가하고 싶으신 분이면
161번째 라인 입니다.
)
그 부분 부터  break; 까지 를 복사하여 
2.2번의 메모장에 엔터 누르고 붙여넣기를 합니다.

만약 
parallelTitleOfPublishersSeries을 추가하고 싶으신 분의 메모장은 

case 'parallelTitleOfPublishersSeries':
        $this->form->setDefault($name, $this->rad[$name]);
        $this->form->setValidator($name, new sfValidatorString);
        $this->form->setWidget($name, new sfWidgetFormInput);

        break;
이렇게 되어있을 겁니다.

2.3
2.2 의 
메모장에 붙여있는 소스를 복사하여 
\plugins\sfIsadPlugin\modules\sfIsadPlugin\actions\editAction.class.php의 
의 148번째 라인(protected function addField($name) 함수의 default: 라고 적혀있는 라인 위) 에 붙여넣기를 합니다.


step3
3.1
\plugins\sfRadPlugin\modules\sfRadPlugin\actions\editAction.class.php
205라인
protected function processField($field)에서 
원하는 컬럼명을 찾습니다,
(parallelTitleOfPublishersSeries 는 216라인에 있습니다.)

3.2
컬럼명을 찾았으면
해당줄을 전체 복사를 해서 
(parallelTitleOfPublishersSeries을 찾으시는 분은 case 'parallelTitleOfPublishersSeries': 입니다.)
새로운 메모장에 붙여넣기를 합니다.
3.33.2번 복사한 라인을 쭉 내려보시면case ~~~~ 가 없는 부분이 있습니다(만약 parallelTitleOfPublishersSeries을 추가하고 싶으신 분이면225번째 라인 입니다.)거기서 부터 break;까지 복사를 하여 3.2번의 메모장에다가 붙여넣기를 합니다.
3.4parallelTitleOfPublishersSeries 추가하고 싶은 분의 메모장 은 (3.2번 의 메모장은 )
case 'parallelTitleOfPublishersSeries':
        $this->rad[$field->getName()] = $this->form->getValue($field->getName());

        break;
이런 형식으로 되어있습니다.
그걸 복사를 하여 

\plugins\sfRadPlugin\modules\sfRadPlugin\actions\editAction.class.php

197라인 위 
protected function processField($field) 의 default : 라인 위 입니다.
에다가 붙여넣기를 합니다.

그리고 저장을 합니다.

step4
4.1
\plugins\sfRadPlugin\modules\sfRadPlugin\templates\editSuccess.php
에서 추가하고싶은 컬에 해당하는 소스를 찾습니다.
(parallelTitleOfPublishersSeries 을 추가하고 싶은 신 분은164 라인에 있습니다.)

4.2
찾으셨으면 그 위 <fieldset ~~~~~~> 이라고 적혀있는 태그 부터  </fieldset> 까지 복사를 합니다.
(parallelTitleOfPublishersSeries 을 추가하고 싶은 신 분은156  라인~ 184라인 있습니다.)
(소스는 

      <fieldset class="collapsible collapsed" id="publishersSeriesArea">

        <legend><?php echo __('Publisher\'s series area') ?></legend>

        <?php echo render_field($form->titleProperOfPublishersSeries
          ->help(__('"At the item level of description, transcribe a title proper of the publisher\'s series as instructed in 1.1B1." (RAD 1.6B)'))
          ->label(__('Title proper of publisher\'s series')), $rad) ?>

        <?php echo render_field($form->parallelTitleOfPublishersSeries
          ->help(__('"Transcribe parallel titles of a publisher\'s series as instructed in 1.1D." (RAD 1.6C1)'))
          ->label(__('Parallel title of publisher\'s series')), $rad) ?>

        <?php echo render_field($form->otherTitleInformationOfPublishersSeries
          ->help(__('"Transcribe other title information of a publisher\'s series as instructed in 1.1E and only if considered necessary for identifying the publisher\'s series." (RAD 1.6D1)'))
          ->label(__('Other title information of publisher\'s series')), $rad) ?>

        <?php echo render_field($form->statementOfResponsibilityRelatingToPublishersSeries
          ->help(__('"Transcribe explicit statements of responsibility appearing in conjunction with a formal title proper of a publisher\'s series as instructed in 1.1F and only if considered necessary for identifying the publisher\'s series." (RAD 1.6E1)'))
          ->label(__('Statement of responsibility relating to publisher\'s series')), $rad) ?>

        <?php echo render_field($form->numberingWithinPublishersSeries
          ->help(__('"Give the numbering of the item within a publisher\'s series in the terms given in the item." (RAD 1.6F1)'))
          ->label(__('Numbering within publisher\'s series')), $rad) ?>

        <?php echo render_field($form->noteOnPublishersSeries
          ->help(__('"Make notes on important details of publisher\'s series that are not included in the Publisher\'s series area, including variant series titles, incomplete series, and of numbers or letters that imply a series." (RAD 1.8B10)'))
          ->label(__('Note on publisher\'s series')), $rad) ?>

      </fieldset> <!-- #publishersSeriesArea -->
이렇게 되어있습니다.
)

4.3
4.2에 복사한 소스를 
\plugins\sfIsadPlugin\modules\sfIsadPlugin\templates\editSuccess.php
의 286라인  위에 붙여넣기를 합니다.
(<?php echo get_partial('informationobject/adminInfo', array('form' => $form, 'resource' => $resource)) ?> 위에다가 붙여넣기를 합니다)

4.4
4.3 에 붙여넣은 소스중
fieldset 에 속한 태그, legend태그  추가하고 싶은 컬럼명이 포함한 소스 재외하고 전부 지웁니다.
(parallelTitleOfPublishersSeries 을 추가하신분이면 
 <fieldset class="collapsible collapsed" id="publishersSeriesArea">

        <legend><?php echo __('Publisher\'s series area') ?></legend>
        <?php echo render_field($form->parallelTitleOfPublishersSeries
          ->help(__('"Transcribe parallel titles of a publisher\'s series as instructed in 1.1D." (RAD 1.6C1)'))
          ->label(__('Parallel title of publisher\'s series')), $rad) ?>

      </fieldset> <!-- #publishersSeriesArea -->

이런 형식입니다.

)

4.5
저장을 하고 추가 -> 기록물기술에 보시면 
해당 컬럼이 추가되어있을겁니다.

이상입니다.

상세보기의 컬럼 추가는 
추후에 설명하겟습니다.

Sign In or Register to comment.