default userpic

dynamically load a different template set

Vote 0 Votes

I want my website to load an iphone template set once the iphone useragent is detected, similar to sixaparts iphone plugin iMT for the administrative panel.

Is this an easy task to accomplish? Any directions?

I’m using dynamic publishing

Reported on Movable Type 4.2

3 Replies

| Add a Reply
  • The easiest solution I can think of involves static publishing. What I would do is create a second set of templates for the iphone, and include some PHP code at the top of the pages that looks like this:

    <?php

    if ( stristr($_SERVER["HTTP_USER_PAGE"], "iPhone") >= 0)

         header("Location:
    <$MTBlogURL$><$mt:FileTemplate format="%y/%m/%-F-iphone.php" encode_xml="1"$>");

    ?>

    Here is the documentation for the FileTemplate tag: http://www.movabletype.org/documentation/appendices/tags/filetemplate.html

    I would recommend trying this out on a test installation of Movable Type and tweaking that PHP until you get it right for each template type. By the way, static publish has much better performance than dynamic publishing, and dynamic publishing usually doesn't provide enough benefits to justify the cost.

  • Crap, that should read HTTP_USER_AGENT

  • For dynamic publishing, you can use a similar technique to what Mike described. You can set a MT template variable that you can then test for anywhere in your templates. Place the following in your header template, or some module that is processed before anything else:

    Then, elsewhere in your MT templates, you can use a MT 'if' tag like this:


    (load an iphone stylesheet, for instance)

    (load regular browser stylesheet)

Add a Reply

If you need to share template code, replace all the "<" signs with "&lt;" or use this utility.

Forum Groups

1773 6162

Last Topic: Excluding categories from blog by kholechek on Feb 9, 2012

86 302

Last Topic: website entries by masoud on Oct 26, 2011

1429 5077

Last Topic: What apocalypse hit this community in the middle of 2011? by 75th on Feb 10, 2012

695 2910

Last Topic: Insert Image / File Fails by Russ Miller on Feb 10, 2012

84 291

Last Topic: How to have some other characters in entry basename automatically written by Afshin Haghighatnia on Dec 22, 2011

173 737

Last Topic: About the MT version stated in HTML source by Alex E. Schneider on Feb 7, 2012

190 567

Last Topic: Analytics Reporting by michael webster on Feb 5, 2012

48 210

Last Topic: An idea and also a request by Afshin Haghighatnia on Jun 29, 2011

64 246

Last Topic: jQuery in MT 5.1 still at 1.4 - why? by perlmonkey on May 25, 2011

code.sixapart.com

137 478

Last Topic: Getting a thumbnail with xpath by Peter on Mar 13, 2011

222 720

Last Topic: Custom Field for Asset Not Appearing by android on Feb 9, 2012