- Posts: 295
COMMUNITY FORUM
Display items where creation date=current date
- stavroch
- 
				Topic Author 
- Offline
- Elite Member
		Less
		More
		
			
	
		
			
	
						12 years 7 months ago				#111371
		by stavroch
	
	
		
			
	
			
			 		
													
	
				Display items where creation date=current date was created by stavroch			
			
				I am looking to display first in category page the items where the creation date = current date.
Olivier made this code
but it doesn't work in joomla 3 and k2 2.6.5
Can you help me please?
					Olivier made this code
        
        <!-- Beginning of code for items of the day -->
        <?php
        $limitstart = JRequest::getInt('limitstart',0);
        
        if (!($limitstart)) {
                $numItems = 5;
                
                $user = &JFactory::getUser();
                $aid = $user->get('aid');
                $db = &JFactory::getDBO();
                $view = JRequest::getWord('view');
            $task = JRequest::getWord('task');
        
            $jnow = &JFactory::getDate();
                $now = $jnow->toMySQL();
                $nullDate = $db->getNullDate();
                
                $ordering = $this->params->get('catOrdering');
                
                $query = "SELECT i.*, c.name as categoryname,c.id as categoryid, c.alias as categoryalias, c.params as categoryparams";
                
                if ($ordering == 'best')
            $query .= ", (r.rating_sum/r.rating_count) AS rating";
        $query.=" FROM #__k2_items as i LEFT JOIN #__k2_categories AS c ON c.id = i.catid";
        if ($ordering == 'best')
            $query .= " LEFT JOIN #__k2_rating r ON r.itemID = i.id";
        if ($task == 'tag')
            $query .= " LEFT JOIN #__k2_tags_xref AS tags_xref ON tags_xref.itemID = i.id LEFT JOIN #__k2_tags AS tags ON tags.id = tags_xref.tagID";
        if($task=='user' && !$user->guest && $user->id==JRequest::getInt('id')){
                $query .= " WHERE ";
        }
        else {
         $query .= " WHERE i.published = 1 AND ";
        }
        $query .= "i.access <= {$aid}"
        ." AND i.trash = 0"
        ." AND c.published = 1"
        ." AND c.access <= {$aid}"
        ." AND c.trash = 0";
        if( !($task=='user' && !$user->guest && $user->id==JRequest::getInt('id') )) {
                $query .= " AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." )";
                $query .= " AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )";
        }
        
        $id = JRequest::getInt('id');
                $category = &JTable::getInstance('K2Category', 'Table');
                $category->load($id);
                $cparams = new JParameter($category->params);
        
                if ($cparams->get('inheritFrom')) {
                        $parent = &JTable::getInstance('K2Category', 'Table');
                        $parent->load($cparams->get('inheritFrom'));
                        $cparams = new JParameter($parent->params);
                }
                if ($cparams->get('catCatalogMode')) {
                        $query .= " AND c.id={$id} ";
                } else {
                        $clearFlag = JRequest::getBool('clearFlag');
                        //$categories = K2ModelItemlist::getCategoryChilds($id, $clearFlag);
                        $categories[] = $id;
                        $categories = @array_unique($categories);
                        JArrayHelper::toInteger($categories);
                        $sql = @implode(',', $categories);
                        $query .= " AND c.id IN ({$sql})";
                }
        
                //Set featured flag
        if ($task == 'category' || empty($task)) {
            if (JRequest::getInt('featured') == '0') {
                $query .= " AND i.featured != 1";
            } else if (JRequest::getInt('featured') == '2') {
                $query .= " AND i.featured = 1";
            }
        }
        //Set with creation date = today
        $query.=" AND DATE(i.created) = CURDATE()";
        //Set ordering
        switch ($ordering) {
            case 'date':
                $orderby = 'i.created ASC';
                break;
            case 'rdate':
                $orderby = 'i.created DESC';
                break;
            case 'alpha':
                $orderby = 'i.title';
                break;
            case 'ralpha':
                $orderby = 'i.title DESC';
                break;
            case 'order':
                if (JRequest::getInt('featured') == '2')
                    $orderby = 'i.featured_ordering';
                else
                    $orderby = 'i.ordering';
                break;
            case 'rorder':
                if (JRequest::getInt('featured') == '2')
                    $orderby = 'i.featured_ordering DESC';
                else
                    $orderby = 'i.ordering DESC';
                break;
            case 'hits':
                $orderby = 'i.hits DESC';
                break;
            case 'rand':
                $orderby = 'RAND()';
                break;
            case 'best':
                $orderby = 'rating DESC';
                break;
            default:
                $orderby = 'i.id DESC';
                break;
        }
        $query .= " ORDER BY ".$orderby;
        $db->setQuery($query, 0, $numItems);
        $itemsOfTheDay = $db->loadObjectList();
        
                if (count($itemsOfTheDay)) {
                ?>
                        <div class="itemsOfTheDay premiera">
                        
 <h2>Πρεμιέρα</h2>
                                <?php
                        //Prepare items
                                $user = &JFactory::getUser();
                        $cache = &JFactory::getCache('com_k2_extended');
                        $itemModel = &$this->getModel('item');
                        
                        foreach($itemsOfTheDay as $itemOfTheDay) {
                
                                        $itemOfTheDay->itemGroup = 'leading'; // Can be 'leading', 'primary','secondary' or 'links' to set the image size
                    
                            if ($user->guest){
                                    $hits = $itemOfTheDay->hits;
                                    $itemOfTheDay->hits = 0;
                                        $itemOfTheDay = $cache->call(array('K2ModelItem', 'prepareItem'), $itemOfTheDay, $view, $task);
                                    $itemOfTheDay->hits = $hits;
                                    }
                                        else {
                                                $itemOfTheDay = $itemModel->prepareItem($itemOfTheDay, $view, $task);
                                        }
                                ?>
                                <div class="itemOfTheDay">
                                        <?php
                                                $this->item=$itemOfTheDay;
                                                echo $this->loadTemplate('item');
                                                ?>
                                        </div>
                                <?php
                        }
                                ?>
                </div>
                <?php
                }
        }
        ?>
        <!-- End of code for item of the day -->but it doesn't work in joomla 3 and k2 2.6.5
Can you help me please?
Please Log in or Create an account to join the conversation.
- Olivier Nolbert
- 
				
- Offline
- New Member
		Less
		More
		
			
	
		- Posts: 12
			
	
						12 years 6 months ago				#111372
		by Olivier Nolbert
	
	
		
			
	
			
			 		
													
	
				Replied by Olivier Nolbert on topic Re: Display items where creation date=current date			
			
				Hi,
Not tested but this should be better with this code. ACL management code has been updated since J!2.5.
			
					Not tested but this should be better with this code. ACL management code has been updated since J!2.5.
<!-- Beginning of code for items of the day -->
        <?php
        $limitstart = JRequest::getInt('limitstart',0);
 
        if (!($limitstart)) {
                $numItems = 5;
 
                $user = JFactory::getUser();
                $db = JFactory::getDBO();
                $view = JRequest::getWord('view');
            $task = JRequest::getWord('task');
 
            $jnow = &JFactory::getDate();
                $now = $jnow->toSQL();
                $nullDate = $db->getNullDate();
 
                $ordering = $this->params->get('catOrdering');
 
                $query = "SELECT i.*, c.name as categoryname,c.id as categoryid, c.alias as categoryalias, c.params as categoryparams";
 
                if ($ordering == 'best')
            $query .= ", (r.rating_sum/r.rating_count) AS rating";
 
        $query.=" FROM #__k2_items as i LEFT JOIN #__k2_categories AS c ON c.id = i.catid";
 
        if ($ordering == 'best')
            $query .= " LEFT JOIN #__k2_rating r ON r.itemID = i.id";
 
        if ($task == 'tag')
            $query .= " LEFT JOIN #__k2_tags_xref AS tags_xref ON tags_xref.itemID = i.id LEFT JOIN #__k2_tags AS tags ON tags.id = tags_xref.tagID";
 
        if($task=='user' && !$user->guest && $user->id==JRequest::getInt('id')){
                $query .= " WHERE ";
        }
        else {
         $query .= " WHERE i.published = 1 AND ";
        }
 
        $query .= "i.access IN(".implode(',', $user->getAuthorisedViewLevels()).")"
        ." AND i.trash = 0"
        ." AND c.published = 1"
        ." AND c.access IN(".implode(',', $user->getAuthorisedViewLevels()).")"
        ." AND c.trash = 0";
 
        if( !($task=='user' && !$user->guest && $user->id==JRequest::getInt('id') )) {
                $query .= " AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." )";
                $query .= " AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )";
        }
 
        $id = JRequest::getInt('id');
 
                $category = JTable::getInstance('K2Category', 'Table');
                $category->load($id);
                $cparams = new JParameter($category->params);
 
                if ($cparams->get('inheritFrom')) {
                        $parent = JTable::getInstance('K2Category', 'Table');
                        $parent->load($cparams->get('inheritFrom'));
                        $cparams = new JParameter($parent->params);
                }
 
                if ($cparams->get('catCatalogMode')) {
                        $query .= " AND c.id={$id} ";
                } else {
                        $clearFlag = JRequest::getBool('clearFlag');
                        //$categories = K2ModelItemlist::getCategoryChildren($id, $clearFlag);
                        $categories[] = $id;
                        $categories = @array_unique($categories);
                        JArrayHelper::toInteger($categories);
                        $sql = @implode(',', $categories);
                        $query .= " AND c.id IN ({$sql})";
                }
 
                //Set featured flag
        if ($task == 'category' || empty($task)) {
            if (JRequest::getInt('featured') == '0') {
                $query .= " AND i.featured != 1";
            } else if (JRequest::getInt('featured') == '2') {
                $query .= " AND i.featured = 1";
            }
        }
 
        //Set with creation date = today
        $query.=" AND DATE(i.created) = CURDATE()";
 
        //Set ordering
        switch ($ordering) {
 
            case 'date':
                $orderby = 'i.created ASC';
                break;
 
            case 'rdate':
                $orderby = 'i.created DESC';
                break;
 
            case 'alpha':
                $orderby = 'i.title';
                break;
 
            case 'ralpha':
                $orderby = 'i.title DESC';
                break;
 
            case 'order':
                if (JRequest::getInt('featured') == '2')
                    $orderby = 'i.featured_ordering';
                else
                    $orderby = 'i.ordering';
                break;
 
            case 'rorder':
                if (JRequest::getInt('featured') == '2')
                    $orderby = 'i.featured_ordering DESC';
                else
                    $orderby = 'i.ordering DESC';
                break;
 
            case 'hits':
                $orderby = 'i.hits DESC';
                break;
 
            case 'rand':
                $orderby = 'RAND()';
                break;
 
            case 'best':
                $orderby = 'rating DESC';
                break;
 
            default:
                $orderby = 'i.id DESC';
                break;
        }
 
        $query .= " ORDER BY ".$orderby;
        $db->setQuery($query, 0, $numItems);
        $itemsOfTheDay = $db->loadObjectList();
 
                if (count($itemsOfTheDay)) {
                ?>
                        <div class="itemsOfTheDay premiera">
 
 <h2>Πρεμιέρα</h2>
 
                                <?php
                        //Prepare items
                                $user = JFactory::getUser();
                        $cache = JFactory::getCache('com_k2_extended');
                        $itemModel = $this->getModel('item');
 
                        foreach($itemsOfTheDay as $itemOfTheDay) {
 
                                        $itemOfTheDay->itemGroup = 'leading'; // Can be 'leading', 'primary','secondary' or 'links' to set the image size
 
                            if ($user->guest){
                                    $hits = $itemOfTheDay->hits;
                                    $itemOfTheDay->hits = 0;
                                        $itemOfTheDay = $cache->call(array('K2ModelItem', 'prepareItem'), $itemOfTheDay, $view, $task);
                                    $itemOfTheDay->hits = $hits;
                                    }
                                        else {
                                                $itemOfTheDay = $itemModel->prepareItem($itemOfTheDay, $view, $task);
                                        }
                                ?>
                                <div class="itemOfTheDay">
                                        <?php
                                                $this->item=$itemOfTheDay;
                                                echo $this->loadTemplate('item');
                                                ?>
                                        </div>
                                <?php
                        }
                                ?>
                </div>
                <?php
                }
        }
        ?>
        <!-- End of code for item of the day -->Please Log in or Create an account to join the conversation.
- stavroch
- 
				Topic Author 
- Offline
- Elite Member
		Less
		More
		
			
	
		- Posts: 295
			
	
						12 years 6 months ago				#111373
		by stavroch
	
	
		
			
	
			
			 		
													
	
				Replied by stavroch on topic Re: Display items where creation date=current date			
			
				No it doesn't work.
I get error with jParameter.
Any other solution?
					I get error with jParameter.
Any other solution?
Please Log in or Create an account to join the conversation.
- Mohamed Abdelaziz
- 
				
- Offline
- Platinum Member
- Joomla Developer
			
	
						12 years 6 months ago				#111374
		by Mohamed Abdelaziz
	
	
		
			
					
Multiple Extra Fields Groups for K2
AutoMeta for K2
Chained Fields for K2
More K2 Extensions In My Extensions Store
					
	
			
			 		
													
	
				Replied by Mohamed Abdelaziz on topic Re: Display items where creation date=current date			
			
				JParameter is depricated in J3
replace it with JRegistry
							replace it with JRegistry
Multiple Extra Fields Groups for K2
AutoMeta for K2
Chained Fields for K2
More K2 Extensions In My Extensions Store
Please Log in or Create an account to join the conversation.
- stavroch
- 
				Topic Author 
- Offline
- Elite Member
		Less
		More
		
			
	
		- Posts: 295
			
	
						12 years 6 months ago				#111375
		by stavroch
	
	
		
			
	
			
			 		
													
	
				Replied by stavroch on topic Re: Display items where creation date=current date			
			
				No again I get white page with the title "items of the day" (ΠΡΕΜΙΕΡΑ).
without any other info - item.
					without any other info - item.
Please Log in or Create an account to join the conversation.
- stavroch
- 
				Topic Author 
- Offline
- Elite Member
		Less
		More
		
			
	
		- Posts: 295
			
	
						12 years 6 months ago				#111376
		by stavroch
	
	
		
			
	
			
			 		
													
	
				Replied by stavroch on topic Re: Display items where creation date=current date			
			
				Have you any news?
Can you help me please?
					Can you help me please?
Please Log in or Create an account to join the conversation.