Używanie kodu PHP i $LayoutHTML w CMS bluetronix
Dzięki dostępowi dewelopera możesz samodzielnie edytować kod PHP swoich stron CMS. W tym samouczku dowiesz się, jak wykonywać instrukcje PHP, modyfikować zawartość HTML za pomocą $LayoutHTML oraz korzystać z własnych funkcji i wbudowanych funkcji CMS.
Własny kod PHP w CMS bluetronix
Dzięki dostępowi dewelopera możesz używać własnego kodu PHP w obrębie strony CMS. Kod HTML strony i twój kod PHP współpracują ze sobą. Kluczową rolę odgrywa zmienna $LayoutHTML: zawiera kod HTML aktualnie generowanej strony w czasie renderowania. Dzięki PHP możesz w niej wyszukiwać, zmieniać i zamieniać zawartość.
Aby używać własnego kodu PHP, potrzebujesz dostępu dewelopera do CMS bluetronix. Jeśli jeszcze nie masz dostępu dewelopera, możesz go załatwić osobno.
Otwórz kod PHP strony
Na wybranej stronie otwórz PHP Code, aby edytować kod PHP strony.
Nie używaj dodatkowych znaczników PHP
Kod PHP jest już wykonywany przez CMS jako kod PHP. Dlatego nie możesz używać dodatkowych znaczników PHP w edytorze kodu PHP. Taki zapis nie jest tam wymagany:
<?php print "Hello World"; ?>
Zamiast tego pisz swoje polecenie PHP bezpośrednio:
print "Hello World";
Zakończ wykonanie PHP z użyciem exit
Do testowania możesz wprowadzić następujące polecenia, zapisać je, a następnie odświeżyć stronę:
print "Hello World";
exit();

W tym przykładzie wyświetlane jest wyłącznie Hello World. Dzięki exit(); kończysz wykonanie PHP w tym miejscu.
Usunięcie exit(); oraz użycie tylko poniższego polecenia spowoduje, że proces renderowania będzie przebiegał normalnie:
Wynik PHP wewnątrz normalnej strony
PHP najpierw wyświetli Hello World. Następnie będzie kontynuowane generowanie rzeczywistej strony CMS, łącznie z nagłówkiem, zawartością strony i stopką. Jednak w przypadku zmian bezpośrednio w obrębie strony HTML warto pracować głównie z $LayoutHTML.
print "Hello World";

W CMS bluetronix możesz oddzielnie zarządzać kodem HTML i kodem PHP strony. Dzięki temu struktura HTML w edytorze jest możliwa do edytowania, podczas gdy logika programowa jest umieszczona w obszarze PHP.
Edytuj HTML i PHP oddzielnie
W systemie bluetronix CMS możesz osobno zarządzać kodem HTML i kodem PHP dla jednej strony. Dzięki temu struktura HTML w edytorze pozostaje edytowalna, podczas gdy logikę programowania umieszczasz w obszarze PHP.
Zdefiniuj własne znaczniki w HTML
Zdefiniuj w kodzie HTML znacznik, który twój kod PHP później zastąpi. Prosty przykład to:
__MyText__
Stosuj angielskie nazwy dla własnych znaczników, nawet na stronach niemieckojęzycznych. Dzięki temu nazewnictwo pozostaje zrozumiałe i jednolite międzynarodowo.
Inne możliwe oznaczenia to:
__CustomerName__
__ProductPrice__
__CurrentDate__
Zamień znaczniki na $LayoutHTML
Za pomocą str_replace() możesz szukać znacznika w bieżącym kodzie HTML i zastąpić go pożądanym zawartością:
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
CMS przeszukuje $LayoutHTML w poszukiwaniu __MyText__ i zastępuje znacznik Moim tekstem.
Kombinuj HTML i znaczniki
Możesz użyć znacznika w ramach swojej normalnej struktury HTML. Na przykład wpisz następujący kod w obszarze HTML:
<h1>__MyText__</h1>
W obszarze PHP dodajesz zastąpienie:
$LayoutHTML = str_replace("__MyText__","Meine Überschrift",$LayoutHTML);
Podczas procesu renderowania powstaje:
<h1>Meine Überschrift</h1>
Kilka znaczników w jednym sekcji strony
To samo zasada działa w bardziej rozbudowanych obszarach HTML. Możesz na przykład oddzielnie zdefiniować nagłówek i opis jako znaczniki:
<section>
<div class="container">
<h2>__MyHeadline__</h2>
<p>__MyDescription__</p>
</div>
</section>
W kodzie PHP ustawiasz obie treści niezależnie od siebie:
$LayoutHTML = str_replace("__MyHeadline__","Unsere Leistungen",$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__","Hier finden Sie eine Übersicht unserer Leistungen.",$LayoutHTML);
Gotowy kod HTML zawiera wówczas wstawione teksty zamiast obu znaczników:
<section>
<div class="container">
<h2>Unsere Leistungen</h2>
<p>Hier finden Sie eine Übersicht unserer Leistungen.</p>
</div>
</section>
Oddziel papierową strukturę HTML i logikę PHP jak najwięcej
Technicznie możesz bezpośrednio wstawić całe struktury HTML za pomocą PHP do $LayoutHTML:
$LayoutHTML = str_replace("__MyContent__","<h2>Meine Überschrift</h2><p>Mein Text</p>",$LayoutHTML);
Jednak w przypadku większych treści sensowne jest pozostawienie HTML jako edytowalnej struktury w obszarze HTML i praca z znacznikami. Przykład kodu HTML:
<section>
<h2>__MyHeadline__</h2>
<p>__MyText__</p>
</section>
Odpowiedni kod PHP zastępuje tylko wymagane wartości:
$LayoutHTML = str_replace("__MyHeadline__","Meine Überschrift",$LayoutHTML);
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
Dzięki temu end-user może zmieniać odstępy, edytować nagłówki, przemieszczać obszary HTML, dostosowywać projekty i edytować sekcje stron za pomocą zwykłego edytora CMS, bez konieczności zmiany logiki programowania PHP.
Zdefiniuj własne funkcje PHP
W obrębie kodu PHP możesz tworzyć własne funkcje. Na przykład:
function MyExampleFunction() {
return "Hello World";
}
Upewnij się, że funkcja nie jest definiowana kilkakrotnie podczas wywołania strony. Może się zdarzyć, że ta sama nazwa funkcji występuje jednocześnie na stronie głównej, w nagłówku, w załączonym module, w sekcji strony lub w stopce.
Wybieraj możliwie jednoznaczne nazwy dla własnych funkcji PHP. Podwójna definicja funkcji w PHP prowadzi do błędu.
Specyficzna nazwa funkcji dla projektu mogłaby wyglądać tak:
function MyProjectCreateCustomerText() {
return "Customer";
}
Sprawdź istniejące funkcje przed zdefiniowaniem nowej funkcji
Alternatywnie możesz sprawdzić, czy dana funkcja została już zdefiniowana przy pomocy function_exists():
if(!function_exists("MyProjectCreateCustomerText")) {
function MyProjectCreateCustomerText() {
return "Customer";
}
}
Używaj funkcji PHP bluetronix
W obszarze kodu PHP możesz również korzystać z funkcji PHP udostępnionych przez system CMS bluetronix. Przykładem jest wysyłanie e-maili za pośrednictwem systemu SMTP bluetronix z użyciem BlueSMTPMail():
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$ImageInMail,$MailPlaceholderReplacement,$FormEntry);
Potrzebne parametry możesz ustawić w swoim kodzie PHP, na przykład:
$From = "info@example.com";
$To = "customer@example.com";
$Subject = "Test E-Mail";
$TextContent = "Hello World";
Następnie możesz użyć centralnej funkcji do wysyłania e-maili. Aby w pełni wykonać wywołanie, muszą być również prawidłowo ustawione pozostałe wymagane parametry. Dzięki temu nie musisz ponownie programować podstawowych funkcji CMS, takich jak wysyłka SMTP.
Podsumowanie
Własny kod PHP jest bezpośrednio wykonywany przez system CMS bluetronix; dodatkowe tagi PHP nie są wymagane w edytorze PHP Code. $LayoutHTML zawiera kod HTML aktualnie generowanej strony i pozwala ci zastępować własne znaczniki dynamicznymi treściami.
Utwórz swoją strukturę HTML możliwie w obszarze HTML i zastąp miejsca na tekst przez PHP. Dzięki temu końcowy klient może później nadal edytować układ za pomocą standardowego edytora CMS, podczas gdy logika programistyczna pozostaje oddzielona.
FAQ
co klienci często nas pytają
Czy potrzebuję dostępu dla dewelopera do własnego kodu PHP?
Tak. Aby używać własnego kodu PHP wewnątrz strony CMS, potrzebujesz dostępu dla dewelopera do CMS bluetronix.
Gdzie znajdę kod PHP przykładu?
Otwórz stronę przykładową w Module → PHP Example i wybierz PHP Code.
Czy muszę w edytorze kodu PHP wpisywać <?php i ?>?
Nie. Edytor wykonuje zapisane instrukcje już jako kod PHP. Wpisujesz swoje instrukcje bezpośrednio, na przykład print "Hello World";.
Co się stanie, jeśli użyję exit;?
exit; kończy wykonanie PHP w tym miejscu. W rezultacie zatrzymany zostaje również proces renderowania strony CMS; nagłówek, treść strony i stopka nie zostaną już wygenerowane.
Do czego służy $LayoutHTML?
$LayoutHTML zawiera podczas procesu renderowania kod HTML aktualnie generowanej strony. W PHP możesz w nim wyszukiwać treści i na przykład przez str_replace() zastępować własne miejsca na tekst.
Jak dodać dynamiczne treści do mojego HTML?
Wstaw w kodzie HTML na przykład __MyText__ i zastąp to miejsce w kodzie PHP za pomocą str_replace() w $LayoutHTML.
Czy mogę łączyć miejsca na tekst PHP z automatycznym tłumaczeniem?
Tak. Możesz używać miejsc na tekst PHP i znaczników tłumaczeń, takich jak Nasze Usługi. Tłumaczenie nastąpi później podczas procesu renderowania.
Dlaczego powinienem trzymać HTML i PHP oddzielnie?
Dzięki temu końcowy klient może później edytować układ HTML za pomocą standardowego edytora, podczas gdy logika programistyczna pozostaje w osobnej sekcji PHP.
Jak uniknąć podwójnie zdefiniowanych funkcji PHP?
Używaj unikalnych nazw funkcji. Możesz dodatkowo sprawdzić przed definicją za pomocą function_exists(), czy dana funkcja już istnieje.
Czy mogę używać istniejących funkcji PHP w bluetronix?
Tak. W obszarze kodu PHP dostępne są również funkcje CMS, na przykład BlueSMTPMail() do wysyłania e-maili. Odpowiednie parametry musisz ustawić zgodnie z wymaganiami.