PDA

View Full Version : Using {var} in php files


AndrewSimm
05-19-2013, 06:02 AM
I need the $section1 have the value of {vb:raw entry.field97}. What I am going it showing the cms articles of a particular section in a vbdynamics page. The current code show section 1 but I need to be able to change the section for each entry which is defined in {vb:raw entry.field97}.


<?php
// Set Your Section ID Here
$section1 = '1';
// Set The Number of Articles To Display
$limit1 = '20';

$articlegrab1 = vB::$db->query_read("
SELECT ".TABLE_PREFIX."cms_nodeinfo.nodeid
, ".TABLE_PREFIX."cms_nodeinfo.title
, ".TABLE_PREFIX."cms_article.previewtext
, ".TABLE_PREFIX."cms_article.pagetext
, ".TABLE_PREFIX."cms_article.contentid
, ".TABLE_PREFIX."cms_node.nodeid
, ".TABLE_PREFIX."cms_node.parentnode
, ".TABLE_PREFIX."cms_node.contentid
, ".TABLE_PREFIX."cms_node.url
, ".TABLE_PREFIX."cms_node.publishdate
, ".TABLE_PREFIX."cms_node.setpublish
FROM ".TABLE_PREFIX."cms_article
, ".TABLE_PREFIX."cms_nodeinfo
, ".TABLE_PREFIX."cms_node
WHERE (".TABLE_PREFIX."cms_nodeinfo.nodeid = ".TABLE_PREFIX."cms_node.nodeid)
AND (".TABLE_PREFIX."cms_article.contentid = ".TABLE_PREFIX."cms_node.contentid)
AND (".TABLE_PREFIX."cms_node.parentnode IN ($section1))
AND (".TABLE_PREFIX."cms_node.setpublish != 0)
ORDER BY ".TABLE_PREFIX."cms_node.publishdate DESC LIMIT $limit1
");



while($articleinfo1 = vB::$db->fetch_array($articlegrab1)) {

$title1 = $articleinfo1['title'];
$text1= $articleinfo1['previewtext'];
$nodeid1 = $articleinfo1['nodeid'];
$url1 = $articleinfo1['url'];
$pagetext1 = $articleinfo1['pagetext'];
$unixdate1 = $articleinfo1['publishdate'];
$date1 = date("F j, Y, g:i a", $unixdate1);
$fulltext1 = strip_bbcode($fulltext1);
$text1 = preg_replace('/\[ATTACH\=CONFIG\]\d\d\[\/ATTACH\]/', '', $text);
$text1 = strip_bbcode($text1);
$pagetext1 = strip_bbcode($pagetext1);


if($text1 == '') $pagetext1 = substr($pagetext1, 0, 120);



$centerhtml1 .="<div style='padding-bottom:10px;margin-bottom:10px; margin-left:8px; margin-right:8px;border-bottom:1px solid #cccccc''>";
$centerhtml1 .="<b><a href='/content.php?".$nodeid1."-".$url1."'>".$title1."</a></b>";
$centerhtml1 .="<p><span style='color:#6f6f6f'>".$date1."</span></p>";
$centerhtml1 .="<p>".$pagetext1."...</p></div>";


}
vB::$db->free_result($articlegrab1);
$tabhtml1 = "<div><ul>".$tabhtml1."</ul>";
echo $tabhtml1.$centerhtml1."</div>";
//
?>

kh99
05-19-2013, 12:40 PM
The exact meaning of {vb:raw entry.field97} depends on which template it's from. If I had to guess, I'd say you could try this:
global $entry;
$section1 = $entry['field97'];


but it's unlikely that it will work. You need to figure out where that value comes from and if it's available on your vbdynamics page (I don't know anything about vbdynamics). It's possible that the value you need hasn't even been set when your vbdynamics code runs, in which case you'd need to figure out how to get it yourself.

AndrewSimm
05-19-2013, 02:28 PM
It works on my vbdynamics page but not on my php file that I am including in the page via the plugin system.

--------------- Added 1368999728 at 1368999728 ---------------

This is what I got when I tried it. My guess is the plugin doesnt have access to vbdynamics but I'm not sure.

Warning: mysqli_query() [function.mysqli-query]: (42000/1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')) AND (cms_node.setpublish != 0) ORDER BY cms_node.publishdate DESC LIMIT' at line 17 in [path]/includes/class_core.php on line 1391

AndrewSimm
05-20-2013, 04:38 PM
Anyone else?

kh99
05-20-2013, 06:20 PM
It works on my vbdynamics page but not on my php file that I am including in the page via the plugin system.

--------------- Added 1368999728 at 1368999728 ---------------

This is what I got when I tried it. My guess is the plugin doesnt have access to vbdynamics but I'm not sure.

Yeah, sorry, I couldn't really understand exactly what you're doing, so I thought I'd let someone else try. Anyway, the above error looks like what would happen if $section1 was blank. This isn't the solution to your original problem, but you might want to change the code to ensure that if $section1 is empty, it doesn't try to do the query.

AndrewSimm
05-21-2013, 05:57 AM
Yeah, sorry, I couldn't really understand exactly what you're doing, so I thought I'd let someone else try. Anyway, the above error looks like what would happen if $section1 was blank. This isn't the solution to your original problem, but you might want to change the code to ensure that if $section1 is empty, it doesn't try to do the query.

Good idea, I set it so that if($section1 == '') it display a message, else it executes the rest of the code.

--------------- Added 1369119570 at 1369119570 ---------------

In my template I would use {vb:raw entry.field97} to display that field. This doesnt work in my php file, just the template where everything is displayed.

--------------- Added 1369122257 at 1369122257 ---------------

Ok so when I just use the php in the plugin it works but puts it at the top of my page. When I put the php in a separate file then it doesnt work. Currently It is display what I want but at the very top of the page inside of the div. I guess that is because it is just firing it on page load instead of when it reaches the spot in the html

--------------- Added 1369122826 at 1369122826 ---------------

This worked, once I add in category I am done. kh99 thank you.
ob_start();

// Set Your Section ID Here
global $entry;
$section1 = $entry['field97'];
// Set The Number of Articles To Display
$limit1 = '20';

if($section1 == '')
{
echo "<span style='margin-left:8px;'>There is no news for this recruit</span>";
}
else
{

$articlegrab1 = vB::$db->query_read("
SELECT ".TABLE_PREFIX."cms_nodeinfo.nodeid
, ".TABLE_PREFIX."cms_nodeinfo.title
, ".TABLE_PREFIX."cms_article.previewtext
, ".TABLE_PREFIX."cms_article.pagetext
, ".TABLE_PREFIX."cms_article.contentid
, ".TABLE_PREFIX."cms_node.nodeid
, ".TABLE_PREFIX."cms_node.parentnode
, ".TABLE_PREFIX."cms_node.contentid
, ".TABLE_PREFIX."cms_node.url
, ".TABLE_PREFIX."cms_node.publishdate
, ".TABLE_PREFIX."cms_node.setpublish
FROM ".TABLE_PREFIX."cms_article
, ".TABLE_PREFIX."cms_nodeinfo
, ".TABLE_PREFIX."cms_node
WHERE (".TABLE_PREFIX."cms_nodeinfo.nodeid = ".TABLE_PREFIX."cms_node.nodeid)
AND (".TABLE_PREFIX."cms_article.contentid = ".TABLE_PREFIX."cms_node.contentid)
AND (".TABLE_PREFIX."cms_node.parentnode IN ($section1))
AND (".TABLE_PREFIX."cms_node.setpublish != 0)
ORDER BY ".TABLE_PREFIX."cms_node.publishdate DESC LIMIT $limit1
");



while($articleinfo1 = vB::$db->fetch_array($articlegrab1)) {

$title1 = $articleinfo1['title'];
$text1= $articleinfo1['previewtext'];
$nodeid1 = $articleinfo1['nodeid'];
$url1 = $articleinfo1['url'];
$pagetext1 = $articleinfo1['pagetext'];
$unixdate1 = $articleinfo1['publishdate'];
$date1 = date("F j, Y, g:i a", $unixdate1);
$fulltext1 = strip_bbcode($fulltext1);
$text1 = preg_replace('/\[ATTACH\=CONFIG\]\d\d\[\/ATTACH\]/', '', $text);
$text1 = strip_bbcode($text1);
$pagetext1 = strip_bbcode($pagetext1);


if($text1 == '') $pagetext1 = substr($pagetext1, 0, 120);



$centerhtml1 .="<div style='padding-bottom:10px;margin-bottom:10px; margin-left:8px; margin-right:8px;border-bottom:1px solid #cccccc''>";
$centerhtml1 .="<b><a href='/content.php?".$nodeid1."-".$url1."'>".$title1."</a></b>";
$centerhtml1 .="<p><span style='color:#6f6f6f'>".$date1."</span></p>";
$centerhtml1 .="<p>".$pagetext1."...</p></div>";


}
vB::$db->free_result($articlegrab1);
$tabhtml1 = "<div><ul>".$tabhtml1."</ul>";
echo $tabhtml1.$centerhtml1."</div>";
//

}
$recruitnews = ob_get_contents();
ob_end_clean();
vB_Template::preRegister('ADV_DYNA_SHOWENTRY',arra y('recruitnews' => $recruitnews));