지금 앱 다운로드하고 10일 무료 체험하기
통화 언어 선택 지역 선택

bluetronix CMS에서 자체 PHP 코드

개발자 접근 권한을 통해 CMS 페이지 내에서 자체 PHP 코드를 사용할 수 있습니다. 이때 페이지의 HTML 코드와 당신의 PHP 코드가 함께 작동합니다. 변수 $LayoutHTML는 사이트 렌더링 과정에서 현재 생성된 페이지의 HTML 코드를 포함합니다. PHP를 사용하여 그 안에서 내용을 검색, 변경 및 대체할 수 있습니다.

자체 PHP 코드를 사용하려면 bluetronix CMS에 대한 개발자 접근 권한이 필요합니다. 개발자 접근 권한이 없다면 별도로 신청할 수 있습니다.

페이지의 PHP 코드 열기

원하는 페이지에서 PHP 코드를 열어 페이지의 PHP 코드를 편집하세요.

추가 PHP 태그 사용 금지

PHP 코드는 CMS에서 이미 PHP 코드로 실행됩니다. 따라서 PHP 코드 에디터에서 추가 PHP 태그를 사용할 수 없습니다. 이러한 방식은 필요하지 않습니다:

<?php print "Hello World"; ?>

대신 PHP 문장을 직접 작성하세요:

print "Hello World";

PHP 실행 종료하기

테스트를 위해 다음 문장을 입력하고 저장한 후 페이지를 새로 고침하세요:

print "Hello World";
exit();

이 예에서는 오직 Hello World만 표시됩니다. exit();를 사용하여 이 지점에서 PHP 실행을 종료합니다.

exit();도 CMS의 추가 사이트 렌더링 과정을 종료합니다. 헤더, 실제 페이지 내용, 푸터 및 후속 처리 단계는 더이상 실행되지 않습니다.

정상 페이지 내에서 PHP 출력

exit();를 제거하고 다음 문장만 사용하면 렌더링 과정은 정상적으로 계속 진행됩니다:

print "Hello World";

PHP는 먼저 Hello World를 출력합니다. 이후 실제 CMS 페이지는 헤더, 페이지 내용 및 푸터를 포함하여 계속 생성됩니다. HTML 페이지 내에서 직접 변경이 필요하다면 가능하면 $LayoutHTML로 작업해야 합니다.

HTML과 PHP를 분리하여 편집하기

bluetronix CMS에서는 페이지의 HTML 코드와 PHP 코드를 별도로 유지할 수 있습니다. 이렇게 하면 에디터에서 HTML 구조를 편집할 수 있는 반면, PHP 영역에 프로그램 로직을 설정할 수 있습니다.

HTML에서 자체 플레이스홀더 정의하기

HTML 코드에서 PHP 코드가 나중에 교체할 자리 표시자를 정의하세요. 간단한 예는 다음과 같습니다:

__MyText__

자체 자리 표시자에는 영어 이름을 사용하세요. 독일어 웹사이트에서도 마찬가지입니다. 이렇게 하면 명칭이 국제적으로 이해 가능하고 일관성을 유지합니다.

기타 가능한 명칭은 다음과 같습니다:

__CustomerName__
__ProductPrice__
__CurrentDate__

플레이스홀더를 $LayoutHTML로 대체하기

str_replace()를 사용하여 현재 HTML 코드에서 자리 표시자를 찾아 원하는 내용으로 교체할 수 있습니다:

$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);

CMS는 $LayoutHTML에서 __MyText__를 검색하고 자리 표시자를 내 텍스트로 교체합니다.

HTML과 플레이스홀더 결합하기

자리 표시자는 일반 HTML 구조 내에서 사용할 수 있습니다. 예를 들어 HTML 영역에 다음 코드를 입력하세요:

<h1>__MyText__</h1>

PHP 영역에서는 교체를 추가합니다:

$LayoutHTML = str_replace("__MyText__","Meine Überschrift",$LayoutHTML);

렌더링 과정에서 다음과 같은 결과가 나옵니다:

<h1>Meine Überschrift</h1>

페이지 섹션 내 여러 플레이스홀더 사용하기

같은 원리가 더 큰 HTML 영역에서도 작동합니다. 예를 들어 제목과 설명을 각각 자리 표시자로 정의할 수 있습니다:

<section>
   <div class="container">
      <h2>__MyHeadline__</h2>
      <p>__MyDescription__</p>
   </div>
</section>

PHP 코드에서는 두 내용을 독립적으로 설정합니다:

$LayoutHTML = str_replace("__MyHeadline__","Unsere Leistungen",$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__","Hier finden Sie eine Übersicht unserer Leistungen.",$LayoutHTML);

완성된 HTML 코드는 두 자리 표시자 대신에 사용된 텍스트를 포함합니다:

<section>
   <div class="container">
      <h2>Unsere Leistungen</h2>
      <p>Hier finden Sie eine Übersicht unserer Leistungen.</p>
   </div>
</section>

HTML 구조와 PHP 로직 최대한 분리하기

기술적으로 PHP를 사용하여 $LayoutHTML에 전체 HTML 구조를 직접 삽입할 수 있습니다:

$LayoutHTML = str_replace("__MyContent__","<h2>Meine Überschrift</h2><p>Mein Text</p>",$LayoutHTML);

그러나 더 큰 콘텐츠의 경우 HTML을 HTML 영역에서 편집 가능한 구조로 유지하고 자리 표시자를 사용하는 것이 좋습니다. HTML 코드의 예:

<section>
   <h2>__MyHeadline__</h2>
   <p>__MyText__</p>
</section>

해당 PHP 코드는 필요한 값만 교체합니다:

$LayoutHTML = str_replace("__MyHeadline__","Meine Überschrift",$LayoutHTML);
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);

최종 사용자는 일반 CMS 편집기를 통해 간격을 변경하고, 제목을 수정하고, HTML 영역을 이동하고, 디자인을 조정하며, 페이지 섹션을 편집할 수 있으므로 PHP 프로그램 로직을 변경할 필요가 없습니다.

자체 PHP 함수 정의하기

PHP 코드 내에서 자체 기능을 만들 수 있습니다. 예를 들어:

function MyExampleFunction() {
   return "Hello World";
}

페이지 호출 동안 기능이 여러 번 정의되지 않도록 주의하세요. 같은 기능 이름이 동시에 기본 페이지, 헤더, 포함된 모듈, 페이지 섹션 또는 바닥글에 있는 경우 발생할 수 있습니다.

자체 PHP 기능에는 가능한 한 명확한 이름을 선택하세요. 중복된 기능 정의는 PHP에서 오류를 발생시킵니다.

프로젝트 특정 기능 이름은 다음과 같이 보일 수 있습니다:

function MyProjectCreateCustomerText() {
   return "Customer";
}

함수 정의 전에 기존 함수 확인하기

대안으로 function_exists()를 사용하여 해당 기능이 이미 정의되었는지 확인할 수 있습니다:

if(!function_exists("MyProjectCreateCustomerText")) {
   function MyProjectCreateCustomerText() {
      return "Customer";
   }
}

bluetronix PHP 함수 사용하기

PHP 코드 영역에서는 bluetronix CMS에서 제공하는 PHP 기능도 사용할 수 있습니다. 예를 들어 BlueSMTPMail()를 사용한 bluetronix SMTP 시스템을 통한 이메일 발송이 있습니다:

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$ImageInMail,$MailPlaceholderReplacement,$FormEntry);

필요한 매개변수를 PHP 코드 내에서 설정할 수 있습니다. 예를 들어:

$From        = "info@example.com";
$To          = "customer@example.com";
$Subject     = "Test E-Mail";
$TextContent = "Hello World";

그런 다음 이메일 발송을 위한 중앙 기능을 사용할 수 있습니다. 전체 호출을 위해 필요한 다른 매개변수도 적절하게 설정해야 합니다. 따라서 기본 CMS 기능인 SMTP 발송을 다시 프로그래밍할 필요가 없습니다.

요약

자체 PHP 코드는 bluetronix CMS에서 직접 실행됩니다. 추가 PHP 태그는 PHP 코드 편집기에서 필요하지 않습니다. $LayoutHTML는 현재 생성된 페이지의 HTML 코드를 포함하고 있으며, 자체 자리 표시자를 동적 내용으로 교체할 수 있습니다.

HTML 구조는 가능한 한 HTML 영역에서 만들고 자리 표시자를 PHP를 통해 교체하세요. 이렇게 하면 최종 사용자가 나중에 일반 CMS 편집기로 레이아웃을 계속 편집할 수 있으며, 프로그램 로직은 분리된 상태로 유지됩니다.

FAQ

고객들이 자주 묻는 질문

자신의 PHP 코드를 위해 개발자 접근 권한이 필요합니까?

네. CMS 페이지 내에서 자신의 PHP 코드를 사용하려면 bluetronix CMS에 대한 개발자 접근 권한이 필요합니다.

예제의 PHP 코드는 어디에서 찾을 수 있습니까?

모듈 → PHP 예제 아래의 예제 페이지를 열고 PHP 코드를 선택하세요.

PHP 코드 편집기에서 <?php와 ?>를 입력해야 합니까?

아니요. 편집기는 이미 내장된 지시문을 PHP 코드로 실행합니다. 예를 들어 print "Hello World";와 같이 직접 지시문을 작성할 수 있습니다.

exit;를 사용하면 어떻게 됩니까?

exit;는 이 지점에서 PHP 실행을 종료합니다. 그로 인해 CMS 사이트 렌더링 과정도 중단되며, 이후에는 헤더, 페이지 내용 및 푸터가 생성되지 않습니다.

$LayoutHTML는 무엇에 사용됩니까?

$LayoutHTML는 렌더링 과정에서 현재 생성된 페이지의 HTML 코드를 포함합니다. PHP를 사용하여 내용 검색 및 str_replace()를 통해 자신의 자리 표시자를 대체할 수 있습니다.

HTML에 동적 콘텐츠를 어떻게 삽입합니까?

HTML 코드에 __MyText__를 삽입하고, PHP 코드 내에서 $LayoutHTML의 str_replace()를 사용하여 이 자리 표시자를 대체하세요.

PHP 자리 표시자를 자동 번역과 결합할 수 있습니까?

네. PHP 자리 표시자와 Our Services와 같은 번역 마크업을 함께 사용할 수 있습니다. 번역은 렌더링 과정 중에 이루어집니다.

왜 HTML과 PHP를 분리해야 합니까?

그래야 최종 사용자가 HTML 레이아웃을 일반 편집기로 나중에 수정할 수 있고, 프로그램 로직은 PHP 영역에서 별도로 유지됩니다.

중복 정의된 PHP 함수를 어떻게 피합니까?

고유한 함수 이름을 사용하세요. 추가로 function_exists()를 사용하여 함수가 이미 존재하는지 확인할 수 있습니다.

기존의 bluetronix PHP 함수를 사용할 수 있습니까?

네. PHP 코드 영역에서도 CMS 함수, 예를 들어 이메일 전송을 위한 BlueSMTPMail()을 사용할 수 있습니다. 필요한 매개변수는 적절히 설정해야 합니다.

CMS