Jump to content

Recommended Posts

I am using Concrete5 on a site I'm working on. Below is the News List display view.php file needed in the block to display the content from news pages. The code allows images entered in the WSYIWYG to appear in the RSS list. I want to know how I can edit the code below, so it shows only the these images from the $content not the text. Can anybody help me on this? Thanks

 

<?php     
defined('C5_EXECUTE') or die("Access Denied.");
    $html = Loader::helper('html');
    $uh = Loader::helper('concrete/urls');
    $bt = BlockType::getByHandle('news_list');
    global $c;


   $rss_address = $controller->getRssUrl().'?ctID='.$ctID.'&bID='.$bID ;

    if (isset($_GET['pageno'])) {
   	$pageno = $_GET['pageno'];
} else {
   	$pageno = 1;
} // if
?>

<div class="newsflash">
<div class="headtitle">
        <h1><?php echo $rssTitle ?></h1>
        </div>	
<?php    



if (!function_exists('newslistParse')) {

	function newslistParse($url,$thumbnail,$thumbwidth,$time,$content,$title,$date){

//###################################################################################//
//here we lay out they way the page looks, html with all our vars fed to it	 //
//this is the content that displays.  it is recommended not to edit anything beyond	//
//the content parse.  Feel free to structure and re-arrange any element and adjust //
//CSS as desired.									//
// available vars:  $url,$thumbnail,$thumbwidth,$time,$content,$title,$date     	 //
//###################################################################################//

	?>
	<div class="newsflashcontain">	
		  <div class="title">
		  	<?php echo $title ; ?>
		  </div>
		  <div class="time">
		  	<?php echo $date ; ?><?php echo $time ; ?>
		  </div>
		  <div class="description">
			<?php echo $content; ?>
		  </div>
	</div>
	<?php    

//#####################################################################################//
//this is the end of the recommended content area.  please do not edit below this line //
//#####################################################################################//

	}
}


	$db = Loader::db();

//go grab the posts, check if they are current, return only current posts
	Loader::model('newzy','simplenews');
	$news = NewsCheck::getCurrentBlocks($ctID,$ordering);

//count the number of current posts returned	
	$pcount = count($news);

//if no events are returned, then we display a user defined message	
	if($pcount==0){
		echo $nonelistmsg;
	}

//now calc the last page	
	$lastpage = ceil($pcount/$num);


//set the current page min max keys -1 as array key's start @ 0
	$sKey = $num * ($pageno-1) ;
	$eKey = ($num * ($pageno-1)) + ($num-1) ;


//take each current post and treat it like a query, for each one do X
	foreach($news as $key => $row){

//check for external URL, if none, rout to parent page
	if(!empty($row['urlLink'])){
		$url = $row['urlLink'];
	}else{
		$url = $controller->grabURL($row['cParentID']); 
	}
//check if thumbnail is there, if so get it, if not, null
	if($row['graphic']>0){
		$thumbnail = $controller->getThumbnail($row['graphic']);
	}else{
		$thumbnail = NULL;
	}
//set vars
	$time = $controller->replaceTimeString($row['nbID']);
	$date = $row['sdt'];
	$title = $row['title'];
	//$content = strip_tags($controller->translateFrom($row['content']));
	$content = $controller->translateFrom($row['content']);
//if truncation is enabled
	if($truncateSummaries == 1){
		if (strlen($content) >= $truncateChars){
//truncate to suplied truncation value
		 //$content = substr($content,0,$truncateChars).'.....';
		 $content = wordwrap($content, $truncateChars);
	     $content = substr($content, 0, strpos($content, "\n")).'.....';
		}
	}


//check if paging is enabled
		if($isPaged){

		//check to make sure the array key is within the range	
			if($key >= $sKey && $key <= $eKey){
	 			newslistParse($url,$thumbnail,$thumbwidth,$time,$content,$title,$date);
			}

//if paging is not selected, use number of items designated in the list block
		}else{

				$i += 1;

				newslistParse($url,$thumbnail,$thumbwidth,$time,$content,$title,$date);

		//once we reach the set number stop the script		
				if($i >= $num){ break; }	

		}
	}

?>
</div>
<?php    

//is iCal feed option is sellected, show it
	if($showfeed==1){	
		?>
    <div class="rssfeed">
        <img src="<?php echo $uh->getBlockTypeAssetsURL($bt, 'rss.png');?>" width="14" height="14" alt="rss feed" />  
        <a href="<?php echo $rss_address ; ?>" id="getFeed">Get this Feed</a>
        <link href="<?php echo $controller->getRssUrl();?>" rel="alternate" type="application/rss+xml" title="<?php      echo t('RSS');?>" />
    </div>
    		<?php    
	}	

//$c = Page::getCurrentPage();
$link = Loader::helper('navigation')->getLinkToCollection($c);
$link = $controller->URLfix($link);

//if pagination is set, if it is needed, show it	
	if($isPaged==1){

		if ($pcount > $num) {
			echo '<div id="pagination">';

			if ($pageno == 1) {
   					echo " FIRST PREV ";
			} else {
   					echo '<a href="'.$link.'pageno=1">FIRST </a>';
   					$prevpage = $pageno-1;
   					echo '<a href="'.$link.'pageno='.$prevpage.'"> PREV</a>';
			} // if

			echo ' ( Page '.$pageno.' of '.$lastpage.' ) ';

			if ($pageno == $lastpage) {
   					echo " NEXT LAST ";
			} else {
   					$nextpage = $pageno+1;
   					echo '<a href="'.$link.'pageno='.$nextpage.'">NEXT </a>';
   					echo '<a href="'.$link.'	pageno='.$lastpage.'"> LAST</a>';
			} // if		
			echo '</div>';
		}	
	}			

if (isset($bID)) { echo '<input type="hidden" name="bID" value="'.$bID.'" />';}

?>

Link to comment
https://forums.phpfreaks.com/topic/221698-show-only-images-from-news-list/
Share on other sites

OK, I have got the images to appear using the following code:

 

<div class="description">
<?php {preg_match_all('/<img[^>]+>/i',$content,$images);} print_r($images); ?></div>

 

However, the Array info is appearing between the images, like this: Array ( [0] => Array ( [0] => 07-Green.gif [1] => 05-Red.gif [2] => 21-Yellow.gif [3] => 20-Blue.gif ) )

 

How can I edit the code so that only the images appear, without the array details? Thanks

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.