diff options
author | David Rothstein <drothstein@gmail.com> | 2014-11-01 12:46:48 -0400 |
---|---|---|
committer | David Rothstein <drothstein@gmail.com> | 2014-11-01 12:46:48 -0400 |
commit | 4d5a0ad301544ad3ba4dcc6d7f29c513e29d884e (patch) | |
tree | 23614831340da6447790c2ec7e0e32805e6082fc /modules/rdf | |
parent | fa2e36b863eecea32852d3a7f374680736c87732 (diff) | |
download | brdo-4d5a0ad301544ad3ba4dcc6d7f29c513e29d884e.tar.gz brdo-4d5a0ad301544ad3ba4dcc6d7f29c513e29d884e.tar.bz2 |
Issue #1323830 by cwells, scor, mgifford, er.pushpinderrana, kay_v: Place title RDFa metadata inside entity HTML element.
Diffstat (limited to 'modules/rdf')
-rw-r--r-- | modules/rdf/rdf.module | 28 | ||||
-rw-r--r-- | modules/rdf/rdf.test | 6 |
2 files changed, 12 insertions, 22 deletions
diff --git a/modules/rdf/rdf.module b/modules/rdf/rdf.module index e126d9c2c..ce3f97bcf 100644 --- a/modules/rdf/rdf.module +++ b/modules/rdf/rdf.module @@ -471,27 +471,17 @@ function rdf_preprocess_node(&$variables) { $variables['attributes_array']['about'] = empty($variables['node_url']) ? NULL: $variables['node_url']; $variables['attributes_array']['typeof'] = empty($variables['node']->rdf_mapping['rdftype']) ? NULL : $variables['node']->rdf_mapping['rdftype']; - // Adds RDFa markup to the title of the node. Because the RDFa markup is - // added to the <h2> tag which might contain HTML code, we specify an empty - // datatype to ensure the value of the title read by the RDFa parsers is a - // literal. - $variables['title_attributes_array']['property'] = empty($variables['node']->rdf_mapping['title']['predicates']) ? NULL : $variables['node']->rdf_mapping['title']['predicates']; - $variables['title_attributes_array']['datatype'] = ''; - - // In full node mode, the title is not displayed by node.tpl.php so it is - // added in the <head> tag of the HTML page. - if ($variables['page']) { - $element = array( - '#tag' => 'meta', - '#attributes' => array( - 'content' => $variables['node']->title, - 'about' => $variables['node_url'], + // Adds RDFa markup about the title of the node to the title_suffix. + if (!empty($variables['node']->rdf_mapping['title']['predicates'])) { + $variables['title_suffix']['rdf_meta_title'] = array( + '#theme' => 'rdf_metadata', + '#metadata' => array( + array( + 'property' => $variables['node']->rdf_mapping['title']['predicates'], + 'content' => $variables['node']->title, + ), ), ); - if (!empty($variables['node']->rdf_mapping['title']['predicates'])) { - $element['#attributes']['property'] = $variables['node']->rdf_mapping['title']['predicates']; - } - drupal_add_html_head($element, 'rdf_node_title'); } // Adds RDFa markup for the date. diff --git a/modules/rdf/rdf.test b/modules/rdf/rdf.test index 370dbb256..4eeef4620 100644 --- a/modules/rdf/rdf.test +++ b/modules/rdf/rdf.test @@ -301,7 +301,7 @@ class RdfMappingDefinitionTestCase extends TaxonomyWebTestCase { // Ensure the default bundle mapping for node is used. These attributes come // from the node default bundle definition. - $blog_title = $this->xpath("//meta[@property='dc:title' and @content='$node->title']"); + $blog_title = $this->xpath("//div[@about='$url']/span[@property='dc:title' and @content='$node->title']"); $blog_meta = $this->xpath("//div[(@about='$url') and (@typeof='sioct:Weblog')]//span[contains(@property, 'dc:date') and contains(@property, 'dc:created') and @datatype='xsd:dateTime' and @content='$isoDate']"); $this->assertTrue(!empty($blog_title), 'Property dc:title is present in meta tag.'); $this->assertTrue(!empty($blog_meta), 'RDF type is present on post. Properties dc:date and dc:created are present on post date.'); @@ -324,7 +324,7 @@ class RdfMappingDefinitionTestCase extends TaxonomyWebTestCase { $this->drupalGet('node/' . $node->nid); // Ensure the mapping defined in rdf_module.test is used. - $test_bundle_title = $this->xpath('//meta[@property="dc:title" and @content="' . $node->title . '"]'); + $test_bundle_title = $this->xpath("//div[@about='$url']/span[@property='dc:title' and @content=\"$node->title\"]"); $test_bundle_meta = $this->xpath("//div[(@about='$url') and contains(@typeof, 'foo:mapping_install1') and contains(@typeof, 'bar:mapping_install2')]//span[contains(@property, 'dc:date') and contains(@property, 'dc:created') and @datatype='xsd:dateTime' and @content='$isoDate']"); $this->assertTrue(!empty($test_bundle_title), 'Property dc:title is present in meta tag.'); $this->assertTrue(!empty($test_bundle_meta), 'RDF type is present on post. Properties dc:date and dc:created are present on post date.'); @@ -343,7 +343,7 @@ class RdfMappingDefinitionTestCase extends TaxonomyWebTestCase { // Ensure the default bundle mapping for node is used. These attributes come // from the node default bundle definition. - $random_bundle_title = $this->xpath("//meta[@property='dc:title' and @content='$node->title']"); + $random_bundle_title = $this->xpath("//div[@about='$url']/span[@property='dc:title' and @content='$node->title']"); $random_bundle_meta = $this->xpath("//div[(@about='$url') and contains(@typeof, 'sioc:Item') and contains(@typeof, 'foaf:Document')]//span[contains(@property, 'dc:date') and contains(@property, 'dc:created') and @datatype='xsd:dateTime' and @content='$isoDate']"); $this->assertTrue(!empty($random_bundle_title), 'Property dc:title is present in meta tag.'); $this->assertTrue(!empty($random_bundle_meta), 'RDF type is present on post. Properties dc:date and dc:created are present on post date.'); |