Can I add an include in with page text?
6 posts by 2 authors in: Forums > CMS Builder
Last Post: January 31, 2014 (RSS)
By csdesign - January 30, 2014
I wasn't sure if I was going to explain this correctly so I took a screen shot. Is it possible to add and include to a page - but WITHIN the text (as the client would enter it in their admin section)
I want to create a contact include so if something changes - it can be changed from 1 location. But it won't be on every page and it's within the text area. (see screenshot)
<!--?php include "include_contact.php"; ?-->
Here's the page: http://www.irmahotelcody.com/sec.php
By rconring - January 31, 2014
I have done that in the past to allow the user to add an RSVP form in the text. Here is where I got the solution:
http://www.interactivetools.com/forum/forum-posts.php?postNum=2231659#post2231659
Conring Automation Services
----------------------------------------
Software for Business and Industry Since 1987
By csdesign - January 31, 2014
I have had a challenging few weeks so I guess this is nothing out of the ordinary but I think I'm doing something wrong.
The contact-info.php & contact-info2.php pages are dynamically created and although they contain the same info on both pages - they come up fine by themselves ( http://www.irmahotelcody.com/contact-info.php )
I changed "blog" to "menus", change the inserted file names & added "#insert_contact#" into the 'content' field on the menus page.
The page just comes up blank in the browser so I deleted the #insert_content# and same result so I put them back in. That's telling me it's something in the header. I pasted it below - maybe you can see something that I'm not. Thanks!!!!
http://www.irmahotelcody.com/menus-restaurant-dining-cody-wy2.php
// load record from 'menus'
list($menusRecords, $menusMetaData) = getRecords(array(
'tableName' => 'menus',
'where' => '', // load first record
'loadUploads' => true, 'allowSearch' => false,
'limit' => '1',
));
$menusRecord = @$menusRecords[0]; // get first record
if (!$menusRecord) { dieWith404("Record not found!"); } // show error message if no record found
<!--INSERT PLACEHOLDER BEGIN-->
//Create an array of placeholders to file names
$insertArray = array(
"#insert_contact#" => 'contact-info.php',
"#insert_contact2#" => 'contact-info2.php' );
//Set content that will contains placeholders to a varaible
$content = $menusRecord['content'];
//Cycle through placeholders
foreach($insertArray as $placeholder => $file){
//If the content contains the placeholder....
if($startNum = strrpos($content , $placeholder)){
//Create and object and include the file to 'run' the code
ob_start();
include($file);
//Add objects content to a placeholder content variable
$placeholderContent = ob_get_clean();
//Replace placeholder with replace holder content
$content = str_replace($placeholder, $placeholderContent, $content); } }
//Display completed content
echo $content;
<!--INSERT PLACEHOLDER END-->
?>
By csdesign - January 31, 2014
oh for pete's sake... I took these out and now I'm getting something - still not right but at least it's showing up which gives me something to work with!
<!--INSERT PLACEHOLDER BEGIN-->
<!--INSERT PLACEHOLDER END-->
By rconring - January 31, 2014
You need to remove the 'echo $content' from the function at the top of the page and use that wherever you are printing the $menuRecord['content'] statement in the body.
$content contains the contents of $menuRecords['content'] with the included files embedded wherever you placed the placeholders in the editor. I hope I explained it properly. If that is not clear, attach a copy of the page code so I can see where it goes.
Conring Automation Services
----------------------------------------
Software for Business and Industry Since 1987