Webboard

Pełna wersja: PHP in Templates and Template Conditionals
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Cześć.

Jak wstawić kod php w szablon? Plugin php in templates nie chce działać poprawnie. Znaczy się działa, ale uniemożliwia potem zalogowanie się lub czasem powoduje inne problemy na forum.

Dodatkowo dopisywanie zmiennych (dowolnych ) do functions.php w inc oraz wywołanie ich potem gdziekolwiek w szablonie przez {$ziemnna} też nie działa.
Pokaż, co próbujesz robić, dołącz ten kod.
Kod PHP:
<table class="gen-autor-info">
<?
php
    if 
( ! $post['fid1'] === "" ){
 
       echo "<tr><td class='wartosc-pola'>" $post['fid1'] . "</td></tr>";
 
   }
 
   if ( ! $post['fid3'] === "" ){
 
   echo "<tr><td class='wartosc-pola'>" $post['fid3'] . "</td></tr>";
 
   }
 
   if ( ! $post['fid4'] === "" ){
 
   echo "<tr> <td class='wartosc-pola'>" $post['fid4'] . "</td></tr>";
 
   }
 
   if ( ! $post['fid5'] === "" ){
 
   echo "<tr> <td class='wartosc-pola'>" $post['fid5'] . "</td></tr>";
 
   }
?>
</table> 
Taki miałam cel - tabela która się wypełnia wierszami - w zależności czy są wartości czy nie. Wstawiam to w szablon postbit_classic.
Chciałam zrobić tabelkę z pewnymi dodatkowymi polami do uzupełnienia w profilu użytkownika (mybb) pod avatarem. Tabelka miałaby się pojawiać tylko i wyłącznie wtedy, gdy użytkownik wypełni dane wartości.
Nie lepiej wykonać to jako plugin?

(26.05.2017, 00:13)KarenBraverose napisał(a): [ -> ]Dodatkowo dopisywanie zmiennych (dowolnych ) do functions.php w inc oraz wywołanie ich potem gdziekolwiek w szablonie przez {$ziemnna} też nie działa.
Nie zaleca się modyfikować plików mybb. Możesz mieć później problemy przy aktualizacji.
Spróbuj tak
Kod PHP:
<if $post['fid1'then>
<
tr><td class="wartosc-pola"> {$post['fid1']} </td></tr>
</if> 

i to
Kod:
<?php
oraz
Kod:
?>
jest zbędne.
(27.05.2017, 15:56)hurtforum napisał(a): [ -> ]Spróbuj tak
Kod PHP:
<if $post['fid1'then>
<
tr><td class="wartosc-pola"> {$post['fid1']} </td></tr>
</if> 

i to
Kod:
<?php
oraz
Kod:
?>
jest zbędne.
To rozwiązanie działa, lecz spodziewam się późniejszych problemów z logowaniem na przykład - a które usuwa dezaktywowanie pluginu php in templates. No chyba, że kłopot jest po prostu z tagiem <?php ?> Jak w takim razie wykonać proste <?php echo "działa"; ?> (choćby do testowania), bo coś mi podpowiada, że nie trzeba chyba specjalnie pod to pisać pluginu?
(27.05.2017, 18:56)KarenBraverose napisał(a): [ -> ]
(27.05.2017, 15:56)hurtforum napisał(a): [ -> ]Spróbuj tak
Kod PHP:
<if $post['fid1'then>
<
tr><td class="wartosc-pola"> {$post['fid1']} </td></tr>
</if> 

i to
Kod:
<?php
oraz
Kod:
?>
jest zbędne.
To rozwiązanie działa, lecz spodziewam się późniejszych problemów z logowaniem na przykład - a które usuwa dezaktywowanie pluginu php in templates. No chyba, że kłopot jest po prostu z tagiem <?php ?> Jak w takim razie wykonać proste <?php echo "działa"; ?> (choćby do testowania), bo coś mi podpowiada, że nie trzeba chyba specjalnie pod to pisać pluginu?

W szablonach <?php ?> nie jest obsługiwane. Plugin na PHP się przydaje chociażby do wyświetlania dodatkowych pól w profilu w różnych miejscach. Zawsze można modyfikować pliki PHP, ale jak to Divir stwierdził będą problemy z aktualizacją forum, dlatego stosuje się pluginy.

Jak chciałbyś wykorzystać <?php echo "działa"; ?>?