GetSimple Support Forum

Full Version: component only in child pages
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have a site with two levels of navigation, so just parents and children. I want to insert a component at the bottom of all the child pages only, not the parents.

What's the conditional php I put in my template for that?
Hmm... There are numerous ways to do it.
You can identify the target page by slug for example:

Code:
if(get_page_slug(false) == 'ma_slug') {
    // show component ...
}

Or, simply check if the current page has a specific parent then show your component:

Code:
$parent = get_parent(false);
if(!empty($parent) && $parent == 'page_parents_slug') {
    // show component ...
}

Or generally, when the same rules apply to all child pages on entire template, you can see whether page has parent then show your component:

Code:
if(!empty(get_parent(false))) {
    // show component ...
}
(2016-03-04, 16:04:43)Bigin Wrote: [ -> ]...Or generally, when the same rules apply to all child pages on entire template, you can see whether page has parent then show your component:

Code:
if(!empty(get_parent(false))) {
    // show component ...
}

It's that last one I need, thanks but it is giving me -
Fatal error: Can't use function return value in write context in /var/sites...



Just to be clear I have 
PHP Code:
<?php if(!empty(get_parent(false))) { get_component('tagline')}; ?>
try this, that should do the trick:
Code:
$parent = get_parent(false);
if(!empty($parent)) {
    // show component ...
}
(2016-03-05, 03:28:23)Bigin Wrote: [ -> ]try this, that should do the trick:

Code:
$parent = get_parent(false);
if(!empty($parent)) {
   // show component ...
}

For some reason I get the component on all pages with that. I can check the variable is empty with print $parent (and it is). Using
PHP Code:
<?php $parent get_parent(false);
if(!empty(
$parent)) {get_component('disqus');} ?>
(2016-03-05, 07:19:34)Timbow Wrote: [ -> ]For some reason I get the component on all pages with that. I can check the variable is empty with print $parent (and it is). Using

Because $parent is of type object, you should cast it to a string:

Code:
$parent = (string) get_parent(false);
if(!empty($parent)) {
    ...
}
Yes!


All working. Smashing. Thanks, mate.