Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benutzerdefinierte HTML-Tags für CMS erstellen?

Ich habe eine Klasse geschrieben, die genau das tut, was Sie für mein eigenes CMS verlangen. Ich habe den src für Sie hochgeladen, obwohl ich ihn nie veröffentlicht habe, ist der Quellcode unter einer BSD-Lizenz veröffentlicht. Benutzerdefinierte Tags

Es erlaubt Ihnen im Grunde, genau das zu tun, wonach Sie fragen. In der Klasse gibt es einige Beispiele für benutzerdefinierte Tags, daher werde ich hier keinen Code einfügen. Lass mich wissen, wie es dir geht.

Bearbeiten 1:Beispielcode wie gewünscht. :-)

Bearbeiten 2:Ich sollte hinzufügen, dass es vergrabene benutzerdefinierte Tags unterstützt.

Bearbeiten 3:Es unterstützt auch Inline-Templating und Tag-Ersetzung, dh

<ct:inline some="attribute">
    This is an in line template. <br />
    This is a #{tag} that can be accessed by the callback function
</ct:inline>

PHP/HTML:beispiel.php

<?php

$current_dir = dirname(__FILE__).DIRECTORY_SEPARATOR;
require_once dirname($current_dir).DIRECTORY_SEPARATOR.'customtags.php';

$ct = new CustomTags(array(
    'parse_on_shutdown'     => true,
    'tag_directory'         => $current_dir.'tags'.DIRECTORY_SEPARATOR,
    'sniff_for_buried_tags' => true
));

?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>untitled</title>
    <meta name="generator" content="TextMate http://macromates.com/">
    <meta name="author" content="Oliver Lillie">
    <!-- Date: 2010-07-10 -->
</head>
<body> 

    <ct:youtube id="wfI0Z6YJhL0" />

</body>
</html>

Benutzerdefinierte Tag-PHP-Funktion:tags/youtube/tag.php :

function ct_youtube($tag)
{
    return '<object id="'.$tag['attributes']->id.'" value="http://www.youtube.com/v/'.$tag['attributes']->id.'" /><param ......>';
}

Ausgabe:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd"> 

<html lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title>untitled</title> 
    <meta name="generator" content="TextMate http://macromates.com/"> 
    <meta name="author" content="Oliver Lillie"> 
    <!-- Date: 2010-07-10 --> 
</head> 
<body> 

    <object id="wfI0Z6YJhL0" value="http://www.youtube.com/v/wfI0Z6YJhL0" /><param ......> 

</body> 
</html>