in reply to Re^3: Template Toolkit Question
in thread Template Toolkit Question

Thank you for the help.

I have no problem setting up an images directory as you've suggested.

Coda (through dragging and dropping) actually sets up the image links like this:

src="images/logo.jpg"

assuming we change to the convention you've suggested (which we will). However, our problem arises when we dynamically create a new page using a Perl CGI. The Perl script is called from the cgi-bin directory inside the site's root directory. The script (using the TT2 wrapper which has image links like src="images/logo.jpg") creates HTML that actually tries to have the browser render image files from src="cgi-bin/images/logo.jpg".

I just hard coded all of the image links with absolute URLs. It works fine in both Coda and TT2. Maybe this is the easiest way to deal with this issue? I'm just surprised with all the power TT2 offers through various config options that this can't be done without using absolute URLs. Of course, being totally new to TT2, I may be missing an obvious sol'n.

Still interested in a more elegant sol'n if you have one ;-)

Thanks!

Replies are listed 'Best First'.
Re^5: Template Toolkit Question
by almut (Canon) on May 19, 2010 at 23:12 UTC
    I'm just surprised with all the power TT2 offers through various config options that this can't be done

    TT2 doesn't semantically interpret your template text as HTML — it just fills in the template according to the template directives [% ... %] etc.   In other words, it doesn't "know" that the text src="images/logo.jpg" is an URI path of an image, so how should it selectively modify those parts of the template?

    All you could do is interpolate a TT2 variable like src="[% images %]/logo.jpg" (as you've already figured)...  but as you don't want to have the [% images %] hardcoded in the templates, there's little TT2 can do to help...

    So, either do the path mapping via the webserver configuration, or simply use absolute paths as already suggested, in which case it doesn't matter that your CGI script has the additional cgi-bin path component in its URI.

      Got it thanks. For what its worth, I'm only a few days old on template toolkit ... trying to get my mind around the templating language. That's why I announced myself as a newb ;-) Greatly appreciate the help.