src/Controller/Resources/resourcedetailController.php line 84

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Resources;
  3. use Pimcore\Controller\FrontendController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Pimcore\Localization\LocaleServiceInterface;
  8. use Pimcore\Model\DataObject\ClassDefinition\Service;
  9. use App\Model\Product\AbstractProduct;
  10. use Pimcore\Bundle\EcommerceFrameworkBundle\Factory;
  11. use Pimcore\Model\DataObject\Slider;
  12. use Pimcore\Model\DataObject\Resourcecategory;
  13. use Pimcore\Model\DataObject\Resources;
  14. use Pimcore\Model\DataObject\Userloyaltyprogram;
  15. use Pimcore\Model\DataObject\NewsLetterHeader;
  16. class resourcedetailController extends FrontendController
  17. {
  18.     
  19.     public function resourcedetailAction(Request $request){
  20.         
  21.        
  22.         $url $request->get('url');
  23.         $resources = new Resources\Listing();
  24.         $resources->setCondition("url IN (?)", [[$url]]);
  25.         $resources->load();
  26.         $id 0;
  27.         foreach($resources as $resource){
  28.             $id$resource->getId(); }
  29.           
  30.         
  31.         $uid $this->get('session')->get('loginUID');
  32.         $Liked_detail_article = new Userloyaltyprogram\Listing();
  33.         $Liked_detail_article->setCondition("op_name = ? and u_id = ? and obj_mod_name = ? and obj_data__id = ?",['Like',$uid,'Article',$id]);
  34.         $Liked_detail_article->load();
  35.        
  36.         $related_article_Ids=[];
  37.         foreach($resources as $resource){
  38.             $id$resource->getId(); 
  39.                    
  40.             for($i 0$i<(count($resource->getRelated_article())); $i++){
  41.                 $related_article_Ids[] = $resource->getRelated_article()[$i]->getId();
  42.             }           
  43.         }
  44.      
  45.         $Liked_related_article = new Userloyaltyprogram\Listing();
  46.         $Liked_related_article->setCondition("op_name = ? and u_id = ? and obj_mod_name = ? and obj_data__id IN (?)",['Like',$uid,'Article',$related_article_Ids]);
  47.         $Liked_related_article->load();
  48.         $Liked_related_article_Ids = [];
  49.         foreach($Liked_related_article as $liked_related_article){
  50.             $Liked_related_article_Ids[]= $liked_related_article->getObj_id();
  51.         }
  52.         // More Topics
  53.         $more_topics = new Resourcecategory\Listing(); 
  54.         $more_topics->setCondition("o_parentId = 269");       
  55.         $more_topics->load();
  56.         $newsletter NewsLetterHeader::getByPath("/NewsLetterHead/Newsletter");
  57.         //latestPdf
  58.         $newsletterLatest = new NewsLetterHeader\Listing();
  59.         $newsletterLatest->setCondition('o_id NOT IN (?)',[$newsletter->getId()]);
  60.         $newsletterLatest->setOrderKey("oo_id");
  61.         $newsletterLatest->setOrder("desc");
  62.         $newsletterLatest->setLimit('1');
  63.         $newsletterLatest->load();
  64.         $newsletterLatest$newsletterLatest->current() ?? null;
  65.         $pdf "";
  66.         if ($newsletterLatest) {
  67.             $pdf $newsletterLatest->getPdf();
  68.         }else{
  69.             $pdf $newsletter->getPdf();
  70.         }
  71.         return $this->render('Resources/resource_detail.html.twig', [
  72.             'resource'      => $resource,
  73.             'more_topics'   => $more_topics,
  74.             'Liked_detail_article'=>$Liked_detail_article,
  75.             'Liked_related_article_Ids'=>$Liked_related_article_Ids,
  76.             'newsletter' => $newsletter,
  77.             'newsletterPdf' => $pdf,
  78.             ]);
  79.     }
  80.          /**
  81.          * @Route("/{locale}/resource", name="resource")
  82.         */
  83. public function redirectresourceDetailAction(Request $request)
  84. {
  85.     $weblink $request->get('locale');
  86.     return $this->redirect('/'.$weblink.'/resources',301);
  87. }
  88.     
  89. }
  90. ?>