Put this code in your theme (I suggest you create a functions.php file and put it there):
<?php
if (!function_exists('component_exists')) {
function component_exists($id) {
global $components;
if (!$components) {
if (file_exists(GSDATAOTHERPATH.'components.xml')) {
$data = getXML(GSDATAOTHERPATH.'components.xml');
$components = $data->item;
} else {
$components = array();
}
}
$exists = FALSE;
if (count($components) > 0) {
foreach ($components as $component) {
if ($id == $component->slug) {
$exists = TRUE;
break;
}
}
}
return $exists;
}
}
?>
Then use it in your template file(s) like this:
<?php if (component_exists('mycomponent')) { ?>
... conditional html code ...
<?php get_component('mycomponent'); ?>
... more html code ...
<?php } ?>
That would be for enclosing a component, only if it exists, between some html code.
If you just want to display alternative content when the component does not exist, it could be like:
<?php
if (component_exists('mycomponent')) {
get_component('mycomponent');
} else {
?>
... alternative text or html code ...
<?php } ?>
(Posted previously in the GS forum)
blog comments powered by Disqus