Fixed meta tags implementation
authorAlexander Ebert <ebert@woltlab.com>
Mon, 4 Mar 2013 17:55:17 +0000 (18:55 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 4 Mar 2013 17:55:17 +0000 (18:55 +0100)
com.woltlab.wcf/template/headInclude.tpl
wcfsetup/install/files/lib/system/MetaTagHandler.class.php

index 09798b7d4f1b4d36c3437d504e2c1869e8b5af59..e2057872153caec35e2c3b4cacc5731f47707969 100644 (file)
@@ -1,10 +1,6 @@
 <base href="{$baseHref}" />
 <meta charset="utf-8" />
-<meta name="description" content="{META_DESCRIPTION}" />
-<meta name="keywords" content="{META_KEYWORDS}" />
-{foreach from=$__wcf->getMetaTagHandler() item=__metaTag}
-       {@$__metaTag}
-{/foreach}
+{implode from=$__wcf->getMetaTagHandler() item=__metaTag glue="\n"}{@$__metaTag}{/implode}
 
 <script type="text/javascript">
        //<![CDATA[
index 3dea6b9e2b140bf74ec87ff01cb3ccf97cb89d04..058a3f4b5ec1263164e3e154a828472e9087ab3b 100644 (file)
@@ -46,7 +46,7 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
                // set default tags
                $this->addTag('description', 'description', WCF::getLanguage()->get(META_DESCRIPTION));
                $this->addTag('keywords', 'keywords', WCF::getLanguage()->get(META_KEYWORDS));
-               $this->addTag('og:site_name', 'og:site_name', WCF::getLanguage()->get(PAGE_TITLE));
+               $this->addTag('og:site_name', 'og:site_name', WCF::getLanguage()->get(PAGE_TITLE), true);
        }
        
        /**
@@ -72,6 +72,8 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
                if ($name == 'og:description') {
                        $this->objects['description']['value'] = $value;
                }
+               
+               $this->indexToObject[] = $identifier;
        }
        
        /**
@@ -82,6 +84,8 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
        public function removeTag($identifier) {
                if (isset($this->objects[$identifier])) {
                        unset($this->objects[$identifier]);
+                       
+                       $this->indexToObject = array_keys($this->objects);
                }
        }
        
@@ -98,7 +102,7 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
        public function current() {
                $tag = $this->objects[$this->indexToObject[$this->index]];
                
-               return '<meta ' . ($tag['isProperty'] ? 'property' : 'name') . '="' . $tag['name'] . '" content="' + $tag['value'] + '" />';
+               return '<meta ' . ($tag['isProperty'] ? 'property' : 'name') . '="' . $tag['name'] . '" content="' . $tag['value'] . '" />';
        }
        
        /**