Re: rfe to template.inc

Matthew Leingang <leingang-c2Vpf+SSmYbWs/[email protected]> Sat, 10 Jan 2004 02:02:36 -0500
Newsgroups gmane.comp.cms.phpslash.devel
Message-ID <BC250DBC.89F%[email protected]>
Hi guys,

I hope it's not too late to chime in on this, but it seems like this
enhancement makes the unnecessary assumption that all templates are
HTML-like and use <!-- --> for comments.  I have templates that write
JavaScript and you can imagine other text formats that can be templated.

Why not have template::parse add some variables by default?  You'd still
have to put them in the templates, but there'd be a standard way to access a
template's file name.

You can extend PHPLIB's template to do what you want as well.

--Matt

On 12/30/03 9:49 AM, "Mike Gifford" <[email protected]> wrote:

> Hello,
> 
> Presently Back-End.org is using template.inc as is and adding in
> template header/footer comments with each template just as phpSlash and
> (and most other phplib template driven apps likely do).
> 
> In talking to the Back-end.org team though, it seems like the following
> modification to template.inc would make it easier for us to ensure that
> the file names are accurate and easily accessible.
> 
> 
> cvs diff phplib/php/template.inc
> Index: phplib/php/template.inc
> ===================================================================
> RCS file:
> /cvsroot/back-end/back-end0.7.x/class/phplib/php/template.inc,v
> retrieving revision 1.1.1.1
> diff -r1.1.1.1 template.inc
> 909c909,911
> <
> ---
>> 
>> $str = "<!-- START $filename -->' . $str . '<!-- END  $filename -->';
>> 
> 
> 
> If we implement this we'll have a lot of header/footer comments to delete and
> I'd just like to try to keep this in step with phpSlash if we can.
> 
> 
> I'd also like to contribute the following javascript which can just be
> inserted into a block to easily identify which templates are where.
> 
> 
> <script type="text/javascript">
> <!--
> // Code Contributed by Lasse Nielsen - http://www.infimum.dk
> function convert(node) {
>  if (!node) {node = document.body;}
> 
>  switch (node.nodeType) {
>    case Node.COMMENT_NODE:
>      var text = node.nodeValue;
>      if (text.substr(0,7)==" START ") {
>        var newNode = createNewNode(text.substr(7));
>        node.parentNode.replaceChild(newNode,node);
>      }
>      break
>    case Node.ELEMENT_NODE:
>      for (var i=0;i<node.childNodes.length;i++) {
>        convert(node.childNodes[i]);
>      }
>      break;
>    default:
>      break;
> }
> }
> 
> function createNewNode(text) {
> var a = document.createElement("a");
> a.href =
> "/admin/BE_editTemplateAdmin.php?submit=edit&file="+escape(text);
> var img = document.createElement("img");
> img.src = "/images/BE/buttons/spacer.gif";
> a.appendChild(img);
> return a;
> }
> -->
> </script>
> 
> <input type="button" value="Convert!" onclick="convert()">
> 
> 
> Mike

-- 




-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html