Show Image if URL is entered

5 posts by 3 authors in: Forums > CMS Builder
Last Post: June 3, 2013   (RSS)

By csdesign - May 31, 2013

Hello! 

I'm doing a sidebar specific to each lodge page (lodges are entered as multiple record and these options are part of a single lodge entry page where all info for that specific lodge is loaded).  In the sidebar, I would like each image to appear IF something is entered into the field.  If it's blank - I'd like the image to be hidden.

See Sidebar on right side of page (planning guide, tours, facebook, online rez) 
http://www.yellowstone-lodging.com/lodges-east-yellowstone-detail.php?Absaroka-Mountain-Lodge-2

<table width="226" border="0" cellspacing="0" cellpadding="0">                   <tr>                     <td height="25" align="center" valign="middle">&nbsp;</td>                   </tr>                   <tr>                     <td align="center" valign="middle"><img src="images/seclodge-planning-guide-travel.png" alt="Get our vacation planning guide" width="128" height="128" /></a></td>                   </tr>                   <tr>                     <td align="center" valign="middle"><img src="images/seclodge-sidebar-div2.png" width="226" height="13" vspace="15" /></td>                   </tr>                   <tr>                     <td align="center" valign="middle"><a href="<?php echo htmlencode($lodge_pagesRecord['360_tour_link']) ?>"><img src="images/lodge-bnr-360-tours.png" alt="360 pano photos tours" width="158" height="67" vspace="4" /></a></td>                   </tr>                   <tr>                     <td align="center" valign="middle"><img src="images/seclodge-sidebar-div2.png" width="226" height="13" vspace="15" /></td>                   </tr>                   <tr>                     <td align="center" valign="middle"><a href="<?php echo htmlencode($lodge_pagesRecord['facebook_url']) ?>" target="_blank"><img src="images/like_us_on_facebook.png" alt="Like us on facebook!" width="158" height="60" vspace="10" /></a></td>                   </tr>                   <tr>                     <td align="center" valign="middle"><img src="images/seclodge-sidebar-div2.png" width="226" height="13" vspace="15" /></td>                   </tr>                   <tr>                     <td align="center" valign="middle"><a href="<?php echo htmlencode($lodge_pagesRecord['online_reservations_url']) ?>" target="_blank"><img src="images/seclodge-online-reservations.jpg" alt="Make your vacation reservations online" width="143" height="149" /></a></td>                   </tr>                   <tr>                     <td align="center" valign="middle"><img src="images/seclodge-sidebar-div2.png" width="226" height="13" vspace="15" /></td>                   </tr>                                    </table>  

I had used this code previously but I'm not sure if this is exactly what I'm trying to do... although I'm sure it's very close - with some rearranging, of course: 

<?php foreach ($listingRecords as $record): ?>  
<?php if ($record['banner_status'] == 'Sold') : ?><img src="http://www.domain.com/images/bnr-sold.jpg" width="312" height="25" /><?PHP endif ?>  
<?php if ($record['banner_status'] == 'Reduced') : ?><img src="http://www.domain.com/images/bnr-reduced.jpg" width="312" height="25" /><?PHP endif ?>  
<?php if ($record['banner_status'] == 'New') : ?><img src="http://www.domain.com/images/bnr-new-listing.jpg" width="312" height="25" /><?PHP endif ?>
 <?php endforeach ?> 

Thank you! Tina

By gkornbluth - June 1, 2013

Hi Tina,

Entered by the user on the web page or entered in the cms record?

Jerry Kornbluth

The first CMS Builder reference book is now available on-line!







Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php

By csdesign - June 3, 2013 - edited: June 3, 2013

Then entry would be via the cms admin. For example. 

If a lodge  has an online reservation link, I would enter that url in the field in the admin.  If no url is entered, the "online reservations" graphic would NOT appear on the detail page. If a url IS entered, then the "online reservations" graphic WOULD appear on the detail page and contain the hyper link to the url that was entered. 

The part I wasn't sure about was how to convert that code I had for "Sold, Reduced & new banners" over to what I need... but here's a shot. I replaced Sold, reduced and new with "???" because that's the part I don't understand. I believe the rest is correct.  Hopefully :)   On the first one. I have the option of uploading a single pdf file or entering a url link - either way, the image showing on the page remains the same. .  The rest are a single entry - either a url is entered - or it is not.  

<?php foreach ($lodge_pagesRecords as $record): ?>  

<?php foreach ($lodge_pagesRecord['planning_guide_pdf'] as $index => $upload): ?>
<?php if ($record['planning_guide_pdf'] == '???') : ?><a href="<?php echo $upload['urlPath'] ?>" target="_blank"><img src="images/seclodge-planning-guide-travel.png" alt="360 pano photos tours" width="128" height="128" vspace="4" /></a><?PHP endif ?>
<?php endforeach ?>

<?php if ($record['planning_guide_link'] == '???') : ?><?php echo htmlencode($lodge_pagesRecord['planning_guide_link']) ?>" target="_blank"><img src="images/seclodge-planning-guide-travel.png" alt="360 pano photos tours" width="128" height="128" vspace="4" /></a><?PHP endif ?>  

<?php if ($record['facebook_url'] == '???') : ?><a href="<?php echo htmlencode($lodge_pagesRecord['facebook_url']) ?>" target="_blank"><img src="images/like_us_on_facebook.png" alt="Like us on facebook!" width="158" height="60" vspace="10" /></a><?PHP endif ?>  

<?php if ($record['360_tour_link'] == '???') : ?><a href="<?php echo htmlencode($lodge_pagesRecord['360_tour_link']) ?>"><img src="images/lodge-bnr-360-tours.png" alt="360 pano photos tours" width="158" height="67" vspace="4" /></a><?PHP endif ?>

<?php if ($record['online_reservations_url'] == '???') : ?><a href="<?php echo htmlencode($lodge_pagesRecord['online_reservations_url']) ?>" target="_blank"><img src="images/seclodge-online-reservations.jpg" alt="Make your vacation reservations online" width="143" height="149" /></a><?PHP endif ?>

<?php endforeach ?> 

Thanks guys!!!  Your help is greatly appreciated!!  Tina

By gkornbluth - June 3, 2013

Hi Tina,

To test for the existence of something in a field (not its specific value) you can just delete the == '???'

from an if statement

If you get errors when there's nothing in the field, insert an @ sign before $record. That will suppress errors from being generated.

<?php if (@$record['planning_guide_pdf']) : ?>

Best,

Jerry Kornbluth

The first CMS Builder reference book is now available on-line!







Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php