relatedRecordLookupFunctions plugin implementation issue
9 posts by 3 authors in: Forums > CMS Builder
Last Post: January 26, 2021 (RSS)
By gkornbluth - January 3, 2021 - edited: January 4, 2021
Hi All,
I’m using the relatedRecordLookupFunctions plugin in a list page and I could use some help
I have a multi record section called 'musicians_listings' that contains images, bios and contact info for a number of musicians, and another multi record section called 'listen_live' to list information about various live concerts. There's a 'is_this_a_jojs_presents_event' check box in each record since only jojs presents' events will have featured musicians.
There’s a pillbox list field in the 'listen_live' section that pulls featured musician names from the 'musicians_listings' section.
Using the relatedRecordLookupFunctions plugin I’m able to display the musician’s information for each 'jojs presents' concert on the detail page for that concert.
I’m having a problem with using this approach to list the correct musician information on a concert list page.
I can’t seem to figure out how to pull the related musician information (based on pillbox entries) from anything but the first record.
Even if there are multiple records that meet the date criteria, and that have the ‘is_this_a_jojs_presents_event’ check box checked, even if there are different musicians in the pillbox field for each record, only the musicians from the first record in the list are retrieved and are repeated multiple times.
Below is the active code that I have so far.
The issue is probably something obvious (just not to me.
Any Thoughts?
Thanks,and best for the New Year!
Jerry Kornbluth
AT THE TOP OF MY PAGE
<?php
// load records
list($listen_liveRecords, $listen_liveMetaData) = getRecords(array(
'tableName' => 'listen_live',
));
// load record from 'listen_live_presets'
list($listen_live_presetsRecords, $listen_live_presetsMetaData) = getRecords(array(
'tableName' => 'listen_live_presets',
'where' => '', // load first record
'loadUploads' => true,
'allowSearch' => false,
'limit' => '1',
));
$listen_live_presetsRecord = @$listen_live_presetsRecords[0]; // get first record
// load records from 'musicians_lisings'
list($musicians_lisingsRecords, $musicians_lisingsMetaData) = getRecords(array(
'tableName' => 'musicians_lisings',
'loadUploads' => true,
'allowSearch' => false,
));
beta_lookupRelatedFields(array(
'table' => 'listen_live',
'recordList' => &$listen_liveRecords,
'fieldList' => array( 'performers' )
));
$listen_liveRecord = @$listen_liveRecords[0]; // get first record
?>
IN THE BODY
<!-- BEGIN PERFORMER LISTING CODE -->
<?php // only retrieve records where the presentation date is within the upcoming 31 days
list($listen_liveRecords, $listen_liveMetaData) = getRecords(array(
'tableName' => 'listen_live',
'where' => '((NOW() + INTERVAL 31 DAY) >= presentation_date AND presentation_date >= TIMESTAMP(CURDATE(), "00:00:00"))',
'orderBy'=> 'presentation_date ASC',
));
?>
<table width="100%" border="0" align="center">
<?php foreach ($listen_liveRecords as $record): ?>
<?php if ($record['is_this_a_jojs_presents_event'] == 1 && !empty($record['performers'])):
// only JOJS Presents! listings have performers listed
?>
<?php
foreach ($listen_liveRecord['performers'] as $performer):?>
<tr>
<td width="25%"><a href="musicians_detail.php?<?php echo $performer['num'] ?>">
<?php foreach ($performer['list_page_image'] as $upload): ?>
<img class="img_shadow" style="border:hidden" src="<?php echo $upload['thumbUrlPath'] ?>" width="<?php echo $upload['thumbWidth'] ?>" height="<?php echo $upload['thumbHeight'] ?>" alt="" />
<?php endforeach ?>
</a>
</td>
<td>
<a href="<?php echo $common_informationRecord['master_url'] >/musicians_detail.php?<?php echo $performer['num'] ?>"><span class="sub_heading_font" style="text-decoration:underline"> <?php echo $performer['full_performer_or_group_name'] ?> - <?php echo $performer['medium'] ?></span> <br />
</a></td>
</tr>
<?php endforeach ?>
<?php endif ?>
<?php endforeach ?>
</table>
<!-- END PERFORMER LISTING CODE -->
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
By hans - January 4, 2021
Hello, perhaps you would like to discuss this over a screen share? Just in order to understand things better.
Thanks.
PHP Programmer (In Training)
interactivetools.com
Sure, Hans,
What do you suggest?
I've also uploaded the related records plugin to the original post (sorry, forgot to do that when I first posted).
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
By hans - January 4, 2021
Do you have a gmail account?
PHP Programmer (In Training)
interactivetools.com
By hans - January 4, 2021
Where do you prefer to have a video call in?
PHP Programmer (In Training)
interactivetools.com
Would Zoom work for you?
You can send the invite to my gmail address
Thank you for this
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
By hans - January 4, 2021
Alrighty. I sent an invite
PHP Programmer (In Training)
interactivetools.com
By Jenna - January 26, 2021
Hi Jerry,
Just checking in on this post. Did you and Hans arrive at a suitable answer or are you still looking for a solution?
Please let me know.
interactivetools.com
Hi Jenna,
Yes we did, thanks for checking.
I'm writing up the solution as a 'recipe' in my CMSB Cookbook http://thecmsbcookbook.com
Best,
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php