custom url with tokens for the tags plugin

This commit is contained in:
krasi georgiev 2016-10-30 13:30:32 +00:00
parent 5b5a4e7690
commit bdd90a680d
2 changed files with 33 additions and 9 deletions

5
.gitignore vendored
View File

@ -1,5 +0,0 @@
.DS_Store
bl-content/databases
bl-content/pages
bl-content/posts
bl-content/uploads

View File

@ -6,8 +6,15 @@ class pluginTags extends Plugin {
{
$this->dbFields = array(
'label'=>'Tags',
'sort'=>'date'
'sort'=>'date',
'link'=>''
);
$this->dbTokens = array(
"[postUrl]",
"[tagName]",
"[tagCount]"
);
}
public function form()
@ -34,6 +41,13 @@ class pluginTags extends Plugin {
$html .= '</select>';
$html .= '</div>';
$html .= '<div>';
$html .= '<label>'.$Language->get('Customize link').'</label>';
$html .= '<input name="link" id="jslink" type="text" value="'.$this->getDbField('link').'">';
$html .= '<pre>available tokens '. implode(', ', $this->dbTokens).' <br/>'.
htmlspecialchars('<a href="[token1]#content" >[token2] [token3]</a>').'</pre>';
$html .= '</div>';
return $html;
}
@ -72,10 +86,25 @@ class pluginTags extends Plugin {
});
}
foreach($tagArray as $tagKey=>$fields)
{
// Print the parent
$html .= '<li><a href="'.HTML_PATH_ROOT.$filter.'/'.$fields['tagKey'].'">'.$fields['name'].' ('.$fields['count'].')</a></li>';
$link='<a href="'.HTML_PATH_ROOT.$filter.'/'.$fields['tagKey'].'">'.$fields['name'].' ('.$fields['count'].')</a>';
if(!empty($this->getDbField('link'))){
$replacments=array(
"[postUrl]"=>HTML_PATH_ROOT.$filter.'/'.$fields['tagKey'], html_entity_decode($this->getDbField('link')),
"[tagName]"=>$fields['name'],
"[tagCount]"=>$fields['count']
);
$link= html_entity_decode($this->getDbField('link'));
foreach($this->dbTokens as $token){
$link= str_replace($token,$replacments[$token],$link);
}
}
$html .= "<li>$link</li>";
}
$html .= '</ul>';
$html .= '</div>';