concrete5.7 블록 유형(최소)에 입력 값을 저장하는 기능 추가
개시하다
마지막으로 제작된 블록 유형는 구역에 설정된 정해진 문자열(Hello, World 인코더 33;)만 표시됩니다.이번에는 블록의 편집 화면에 입력한 문자열로 바꾸고 싶습니다.
화면 이미지
화면 편집
화면을 공개하다
규격.
화면 편집
화면을 공개하다
규격.
SingleLine
의 이름./application/blocks/single_line/
에서 생성됩니다.db.xml
controller.php
add.php
edit.php
view.php
각 문서의 설명은concerete5japan의카탈로그 구조 및 개념를 참고하십시오.db.xml
편집 화면에 입력한 정보를 저장하는 테이블의 구조를 설명합니다.
표명은 이름 충돌을 최대한 피하기 위해 먼저 bt
의 접두사를 붙이는 습관이 있다.
필드에 지정할 수 있는 유형 등에 대한 자세한 내용은 concerete 5입니다.org의 db.xml in the Doctrine XML Format페이지를 보십시오.
/application/blocks/single_line/db.xml<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.concrete5.org/doctrine-xml/0.5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.concrete5.org/doctrine-xml/0.5 http://concrete5.github.io/doctrine-xml/doctrine-xml-0.5.xsd">
<table name="btSingleLine">
<field name="bID" type="integer">
<unsigned/>
<key/>
</field>
<field name="content" type="text"/>
</table>
</schema>
블록 유형이 설치되어 있는 경우 데이터베이스에 테이블을 작성합니다.CREATE TABLE `btSingleLine` (
`bID` INT(10) UNSIGNED NOT NULL,
`content` LONGTEXT NULL COLLATE 'utf8_unicode_ci',
PRIMARY KEY (`bID`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB
;
작성된 테이블은 다음과 같이 구성되어 있는 MySQL입니다.
controller.php
몇 가지 수정이 필요한데, 주로 관계를 설정한다.
/application/blocks/single_line/controller.php<?php
namespace Application\Block\SingleLine;
use \Concrete\Core\Block\BlockController;
class Controller extends BlockController {
// db.xml で指定したテーブル名を記述します。
protected $btTable = 'btSingleLine';
// キャッシュに関する設定を行います。
// キャッシュするには true を、しない場合は false を指定。
protected $btCacheBlockRecord = true;
protected $btCacheBlockOutput = true;
protected $btCacheBlockOutputOnPost = true;
protected $btCacheBlockOutputForRegisteredUsers = true;
// ブロックタイプの説明を出力
public function getBlockTypeDescription() {
return t("1行のテキストを表示します。");
}
// ブロックタイプのタイトルを出力
public function getBlockTypeName() {
return t("1行テキスト");
}
}
protected $btTable = 'btSingleLine';
db.xml에서 지정한 데이터베이스 이름을 지정합니다.namespace Application\Block\SingleLine;
폴더와 이름을 조정합니다.public function getBlockTypeDescription()
public function getBlockTypeName()
블록 유형에 따라 수정됩니다.
add.php
블록 유형을 영역으로 끌 때 HTML을 설명합니다.이번에는 한 줄의 문자를 입력할 수 있다.<?php echo $form->text('content') ?>
첫 번째 인자로 지정되었습니다. 'concent'
는db입니다.xml에서 지정한 필드 이름과 일치하십시오.
/application/blocks/single_line/add.php<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
// フォームヘルパー読み込み
$form = Core::make('helper/form');
?>
<label class="control-label"><?php echo t('1行テキスト')?></label>
<?php echo $form->text('content') ?>
edit.php
블록을 편집할 때 HTML을 설명합니다.add.php와 거의 같다.<?php echo $form->text('content', $content) ?>
두 번째 매개 변수의 차이는db입니다.xml에서 지정한 콘텐츠 필드를 지정했습니다.
이렇게 하면 편집 시 테이블에 저장된 정보가 기본값으로 표시됩니다.
/application/blocks/single_line/edit.php<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
// フォームヘルパー読み込み
$form = Core::make('helper/form');
?>
<label class="control-label"><?php echo t('1行テキスト')?></label>
<?php echo $form->text('content', $content) ?>
view.php
디스플레이에 사용된 HTML을 기록합니다.h()는 도피를 묶는다.
/application/blocks/single_line/view.php<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
?>
<div><?php echo h($content) ?></div>
최후
개발 중db입니다.xml을 만들기 전에 블록 형식을 설치한 다음db를 설치합니다.xml을 만들면 데이터베이스 주위에 오류가 발생합니다.블록 유형 삭제조차 어려워졌습니다.
대책으로db.xml 이름을 바꾸고 블록 형식을 삭제합니다.그 다음,db.이름을 xml에 넣고 설치하면 표를 다시 만들어서 순조롭게 작동할 수 있습니다.
여러 파일을 만들어야 하지만 파일 사이에 이름을 통일해야 하는 부분이 많기 때문에 제대로 작동하지 않는다면 타자 오류가 없는지 꼼꼼히 살펴보는 것이 좋다.
Reference
이 문제에 관하여(concrete5.7 블록 유형(최소)에 입력 값을 저장하는 기능 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yorozuone/items/ad70aff07e7b2db3d637
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.concrete5.org/doctrine-xml/0.5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.concrete5.org/doctrine-xml/0.5 http://concrete5.github.io/doctrine-xml/doctrine-xml-0.5.xsd">
<table name="btSingleLine">
<field name="bID" type="integer">
<unsigned/>
<key/>
</field>
<field name="content" type="text"/>
</table>
</schema>
CREATE TABLE `btSingleLine` (
`bID` INT(10) UNSIGNED NOT NULL,
`content` LONGTEXT NULL COLLATE 'utf8_unicode_ci',
PRIMARY KEY (`bID`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB
;
몇 가지 수정이 필요한데, 주로 관계를 설정한다.
/application/blocks/single_line/controller.php
<?php
namespace Application\Block\SingleLine;
use \Concrete\Core\Block\BlockController;
class Controller extends BlockController {
// db.xml で指定したテーブル名を記述します。
protected $btTable = 'btSingleLine';
// キャッシュに関する設定を行います。
// キャッシュするには true を、しない場合は false を指定。
protected $btCacheBlockRecord = true;
protected $btCacheBlockOutput = true;
protected $btCacheBlockOutputOnPost = true;
protected $btCacheBlockOutputForRegisteredUsers = true;
// ブロックタイプの説明を出力
public function getBlockTypeDescription() {
return t("1行のテキストを表示します。");
}
// ブロックタイプのタイトルを出力
public function getBlockTypeName() {
return t("1行テキスト");
}
}
protected $btTable = 'btSingleLine';
db.xml에서 지정한 데이터베이스 이름을 지정합니다.namespace Application\Block\SingleLine;
폴더와 이름을 조정합니다.public function getBlockTypeDescription()
public function getBlockTypeName()
블록 유형에 따라 수정됩니다.add.php
블록 유형을 영역으로 끌 때 HTML을 설명합니다.이번에는 한 줄의 문자를 입력할 수 있다.<?php echo $form->text('content') ?>
첫 번째 인자로 지정되었습니다. 'concent'
는db입니다.xml에서 지정한 필드 이름과 일치하십시오.
/application/blocks/single_line/add.php<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
// フォームヘルパー読み込み
$form = Core::make('helper/form');
?>
<label class="control-label"><?php echo t('1行テキスト')?></label>
<?php echo $form->text('content') ?>
edit.php
블록을 편집할 때 HTML을 설명합니다.add.php와 거의 같다.<?php echo $form->text('content', $content) ?>
두 번째 매개 변수의 차이는db입니다.xml에서 지정한 콘텐츠 필드를 지정했습니다.
이렇게 하면 편집 시 테이블에 저장된 정보가 기본값으로 표시됩니다.
/application/blocks/single_line/edit.php<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
// フォームヘルパー読み込み
$form = Core::make('helper/form');
?>
<label class="control-label"><?php echo t('1行テキスト')?></label>
<?php echo $form->text('content', $content) ?>
view.php
디스플레이에 사용된 HTML을 기록합니다.h()는 도피를 묶는다.
/application/blocks/single_line/view.php<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
?>
<div><?php echo h($content) ?></div>
최후
개발 중db입니다.xml을 만들기 전에 블록 형식을 설치한 다음db를 설치합니다.xml을 만들면 데이터베이스 주위에 오류가 발생합니다.블록 유형 삭제조차 어려워졌습니다.
대책으로db.xml 이름을 바꾸고 블록 형식을 삭제합니다.그 다음,db.이름을 xml에 넣고 설치하면 표를 다시 만들어서 순조롭게 작동할 수 있습니다.
여러 파일을 만들어야 하지만 파일 사이에 이름을 통일해야 하는 부분이 많기 때문에 제대로 작동하지 않는다면 타자 오류가 없는지 꼼꼼히 살펴보는 것이 좋다.
Reference
이 문제에 관하여(concrete5.7 블록 유형(최소)에 입력 값을 저장하는 기능 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yorozuone/items/ad70aff07e7b2db3d637
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
// フォームヘルパー読み込み
$form = Core::make('helper/form');
?>
<label class="control-label"><?php echo t('1行テキスト')?></label>
<?php echo $form->text('content') ?>
블록을 편집할 때 HTML을 설명합니다.add.php와 거의 같다.
<?php echo $form->text('content', $content) ?>
두 번째 매개 변수의 차이는db입니다.xml에서 지정한 콘텐츠 필드를 지정했습니다.이렇게 하면 편집 시 테이블에 저장된 정보가 기본값으로 표시됩니다.
/application/blocks/single_line/edit.php
<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
// フォームヘルパー読み込み
$form = Core::make('helper/form');
?>
<label class="control-label"><?php echo t('1行テキスト')?></label>
<?php echo $form->text('content', $content) ?>
view.php
디스플레이에 사용된 HTML을 기록합니다.h()는 도피를 묶는다.
/application/blocks/single_line/view.php<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
?>
<div><?php echo h($content) ?></div>
최후
개발 중db입니다.xml을 만들기 전에 블록 형식을 설치한 다음db를 설치합니다.xml을 만들면 데이터베이스 주위에 오류가 발생합니다.블록 유형 삭제조차 어려워졌습니다.
대책으로db.xml 이름을 바꾸고 블록 형식을 삭제합니다.그 다음,db.이름을 xml에 넣고 설치하면 표를 다시 만들어서 순조롭게 작동할 수 있습니다.
여러 파일을 만들어야 하지만 파일 사이에 이름을 통일해야 하는 부분이 많기 때문에 제대로 작동하지 않는다면 타자 오류가 없는지 꼼꼼히 살펴보는 것이 좋다.
Reference
이 문제에 관하여(concrete5.7 블록 유형(최소)에 입력 값을 저장하는 기능 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yorozuone/items/ad70aff07e7b2db3d637
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?php
// おまじない
defined('C5_EXECUTE') or die(_("Access Denied."));
?>
<div><?php echo h($content) ?></div>
개발 중db입니다.xml을 만들기 전에 블록 형식을 설치한 다음db를 설치합니다.xml을 만들면 데이터베이스 주위에 오류가 발생합니다.블록 유형 삭제조차 어려워졌습니다.
대책으로db.xml 이름을 바꾸고 블록 형식을 삭제합니다.그 다음,db.이름을 xml에 넣고 설치하면 표를 다시 만들어서 순조롭게 작동할 수 있습니다.
여러 파일을 만들어야 하지만 파일 사이에 이름을 통일해야 하는 부분이 많기 때문에 제대로 작동하지 않는다면 타자 오류가 없는지 꼼꼼히 살펴보는 것이 좋다.
Reference
이 문제에 관하여(concrete5.7 블록 유형(최소)에 입력 값을 저장하는 기능 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yorozuone/items/ad70aff07e7b2db3d637텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)