Asked  7 Months ago    Answers:  5   Viewed   29 times

Someone wants me to redesign a site run in PHP (VideoCMS). But when I asked him to send me the source he has given me *.tpl files instead of *.php. There is some code inside them:

{include file='header.tpl' p="article"}

<br />
<table width="886" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="150" valign="top">
    <div id="reg_box">
    <h3 class="captions">{$lang.articles}</h3>
        <div id="list_cats">
        <ul>
            {$article_categories}
        </ul>
        </div>
    </div>
    <br />
    <div id="reg_box">
    <h3 class="captions">{$lang.members}</h3>
    {if $logged_in == '1'}
    {include file='loggedin_body.tpl'}
    {else}
    {include file='login_body.tpl'}
    {/if}

or

{include file='header.tpl' p="index"}

{php} $_SESSION['isFair'] = "Yes"; {/php}

What's the interpreter of the code? How can I redesign this site?

 Answers

95

That looks like Smarty to me. Smarty is a template parser written in PHP.

You can read up on how to use Smarty in the documentation.

If you can't get access to the CMS's source: To view the templates in your browser, just look at what variables Smarty is using and create a PHP file that populates the used variables with dummy data.

If I remember correctly, once Smarty is set up, you can use:

$smarty->assign('nameofvar', 'some data');

to set the variables.

Wednesday, March 31, 2021
 
PHPWDev
answered 7 Months ago
32

Here's a simple tutorial on how to code it. The comments discuss solution to additional problems.

Wednesday, March 31, 2021
 
Grzegorz
answered 7 Months ago
94

declare, before include the template:

{assign var="link_truncate" value="30"}
Saturday, May 29, 2021
 
Nickool
answered 5 Months ago
93

There are lots of different 'pattern' families out there, but taking your question its broadest terms...

I'd recommend:

  • Jim Coplien's Organisational Patterns
  • The Hillside Group wiki
  • Kevlin Henney's site has plenty of excellent links & papers

Offline (my favourites):

  • Fowler's Patterns of Enterprise Architecture
  • Feather's Working Effectively with Legacy Code

Offline (popular):

  • GoF Design Patterns
  • Fowler's Refactoring: Improving the Design of Existing Code
Saturday, September 11, 2021
 
toesslab
answered 2 Months ago
21

Each of the runtime files contains code that enables loading of your chunks. If you open any of those runtime files, you will see code that loads your chunks via Jsonp. Since you have asked webpack to split chunks, you are now free to load any chunk any time. Hence for each chunk, webpack emits these runtime files so that it can handle requires correctly.

Sunday, September 26, 2021
 
Aleks
answered 1 Month ago
Only authorized users can answer the question. Please sign in first, or register a free account.
Not the answer you're looking for? Browse other questions tagged :
 
Share