[PHPTAL] Silly thing... but how do I do it?!

admirau admirau at gmail.com
Fri May 15 15:02:05 CEST 2009


On 2009-05-15 14:46, Alister Cameron wrote:
> Folks,
>
> WordPress has a function that outputs three attributes. It's 
> called language_attributes() and it outputs these three attributes 
> (and their values) for the opening HTML tag.
>
> The code looks like this:
>
> <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes( 
> 'xhtml' ); ?>>
>
> Now, how do you suggest I turn this into TAL?
>
> I can't replace the entire HTML tag coz that will throw a "tag nesting 
> error"...
>
> Do you suggest I drop this function entirely and do it another way, 
> attribute by attribute? Or what?
>
>
The right thing to do is writing your own function which returns this 
attributes as an associative array and then use <tal:attributes>.
You may also use fallback to php:
http://phptal.org/manual/en/split/tales-php.html

The best choice is to write custom pre-filter, which adds those 
attributes automatically where needed.

Here is the function for reference:

1696  /**
1697   * Display the language attributes for the html tag.
1698   *
1699   * Builds up a set of html attributes containing the text 
direction and language
1700   * information for the page.
1701   *
1702   * @since 2.1.0
1703   *
1704   * @param string $doctype The type of html document (xhtml|html).
1705   */
1706  function language_attributes($doctype = 'html') {
1707      $attributes = array();
1708      $output = '';
1709
1710      if ( $dir = get_bloginfo('text_direction') )
1711          $attributes[] = "dir=\"$dir\"";
1712
1713      if ( $lang = get_bloginfo('language') ) {
1714          if ( get_option('html_type') == 'text/html' || $doctype == 
'html' )
1715              $attributes[] = "lang=\"$lang\"";
1716
1717          if ( get_option('html_type') != 'text/html' || $doctype == 
'xhtml' )
1718              $attributes[] = "xml:lang=\"$lang\"";
1719      }
1720
1721      $output = implode(' ', $attributes);
1722      $output = apply_filters('language_attributes', $output);
1723      echo $output;
1724  }

-- 
regards
takeshin



More information about the PHPTAL mailing list