Tệp .tpl là gì? php, thiết kế web


92

Một người đàn ông muốn tôi thiết kế lại một trang chạy bằng PHP (VideoCMS). Nhưng khi tôi yêu cầu anh ấy gửi cho tôi nguồn anh ấy đã cung cấp cho tôi các tệp * .tpl thay vì * .php. Có một số mã bên trong chúng:

{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}

hoặc là

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

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

Câu hỏi: Trình thông dịch của mã là gì? Làm thế nào để thiết kế lại trang web này?

Câu trả lời:


98

Tôi trông giống như Smarty. Smarty là một trình phân tích cú pháp mẫu được viết bằng PHP.

Bạn có thể đọc thêm về cách sử dụng Smarty trong tài liệu .

Nếu bạn không thể truy cập vào nguồn của CMS: Để xem các mẫu trong trình duyệt của bạn, chỉ cần xem những biến Smarty đang sử dụng và tạo một tệp PHP điền dữ liệu giả vào các biến đã sử dụng.

Nếu tôi nhớ không nhầm, sau khi Smarty được thiết lập, bạn có thể sử dụng:

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

để thiết lập các biến.


19
.tplKHÔNG chỉ là phần mở rộng cho các tệp thông minh. Nhiều trình phân tích cú pháp khác và trên thực tế là các giải pháp tùy chỉnh sử dụng .tplNgoài ra, nếu tùy chỉnh, bạn cũng có thể đặt PHP bên trong .tpltệp. OpenCart là một ví dụ điển hình về điều này và vBulletin, nơi .tplbạn có PHP bên trong nó. Đó là lý do tại sao nhiều máy chủ như NGINX được xây dựng sẵn với chức năng ngăn mọi người xem .tpltệp.
TheBlackBenzKid


17

.tpllà phần mở rộng cho smarty tập tin. Nó có nghĩa là "khuôn mẫu".

Mẹo: nếu bạn đang sử dụng netbeans và bạn muốn đánh dấu cú pháp chính xác cho các tệp đó:

  • Đi tới options/tools
  • Dưới Miscellaneous, chọn Filestab
  • Nhấp vào phần mở rộng tệp mới, nhập tpl.
  • Trong Assiciated file Type (MIME), chọnHTML Files (text/html)
  • Nhấp chuột ok

4
.tplkhông chỉ là phần mở rộng cho các tệp thông minh. Nhiều phân tích cú pháp khác và trong thực tế các giải pháp tùy chỉnh sử dụng.tpl
TheBlackBenzKid

13

Xếp thứ 3 trên Google vì "tpl file"(mặc dù đó là một trong những quảng cáo khó chịu "Sửa lỗi TPL ngay bây giờ", "Quét tệp TPL bằng máy quét vi-rút của chúng tôi", bán-bạn-mọi-thứ-dưới-ánh-mặt-trời-với-hào nhoáng-xấu-xí-quảng cáo -when-all-you-want-was-the-file-description sites) là:

Được sử dụng bởi phát triển web PHP và các ứng dụng web PHP làm tệp mẫu. Chủ yếu được sử dụng bởi công cụ mẫu Smarty. Mẫu là một tệp văn bản phổ biến (như tệp .html) và chứa các biến do người dùng xác định được thay thế bằng nội dung đầu ra do người dùng xác định khi ứng dụng web PHP phân tích cú pháp tệp mẫu.


1
thực sự tìm kiếm "tập tin tpl" và nhấp vào kết quả thứ ba là muốn mang lại cho tôi cho câu hỏi này ...
MoralCode

1
Khi trả lời một câu hỏi, tốt hơn nên bao gồm liên kết trực tiếp thay vì dựa vào Google SERP, nó thay đổi từ trình duyệt này sang trình duyệt khác tùy thuộc vào cài đặt và vị trí của người dùng. Thêm vào đó, nó không được đảm bảo rằng kết quả sẽ luôn ở cùng một thứ hạng. Bài đăng này là từ năm 2009, nơi như tôi đã thấy vào năm 2017. Ngày nay nó ít được sử dụng.
Mohammed Akhtar Zuberi

@Mohammed, tôi không dựa vào Google luôn trả về cùng một thứ. Toàn bộ lý do để tôi sao chép văn bản vào câu trả lời này là để câu trả lời sẽ vẫn có giá trị ngay cả khi Google biến mất khỏi khuôn mặt của hành tinh.
paxdiablo

6

Các tệp đang sử dụng một số loại công cụ mẫu trong đó dấu ngoặc nhọn cho biết các biến được tạo bởi công cụ tạo khuôn mẫu đó, các tệp tạo các biến như vậy phải có ở nơi khác với tên giống hoặc ít hơn tên tệp tpl. Dưới đây là một số công cụ mẫu thường được sử dụng.

Thông minh

Savant

Tinybutstrong

Vân vân

Với smarty đang được sử dụng rộng rãi.


3

Chúng trông giống như các mẫu Smarty . Cần có một số tập lệnh PHP bổ sung thực sự khởi tạo công cụ Smarty và cung cấp cho nó dữ liệu mà nó có thể sử dụng cho các phần tử có thể thay thế.


3

Bạn phải học cú pháp Smarty, đó là một hệ thống khuôn mẫu.


2

.tpl cho thấy có một sự thông minh! smarty là một ngôn ngữ mẫu để tách mã php ra khỏi mã html. Điều này cho chúng tôi khả năng thực hiện các nội dung thiết kế trên một trang không có mã php.


1

Trong trường hợp cụ thể này là Smarty, nhưng nó cũng có thể là các mẫu Jinja2 . Chúng cũng thường có phần mở rộng .tpl,


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.