0

my code is running perfectly on local host but when i am uploading on server after running its showing

This above error We're sorry, an error has occurred while generating this email.

my block code show.php is

<?php
namespace Diaspark\Location\Block;

class PageLink extends \Magento\Framework\View\Element\Template
{

    protected $_locationFactory;
    public function __construct(\Magento\Framework\View\Element\Template\Context $context,
    \Diaspark\Location\Model\locationFactory $db)
    {
        $this->_locationFactory = $db;
        parent::__construct($context);
    }

    public function getDisplayData()
    {

        $data=$this->_locationFactory->create()->getCollection();

        return $data;
    }
     public function getImagePath()
    {
       $imagePath = $this->_storeManager->getStore()
                    ->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
       $var= $imagePath .'mycustomfolder/';
       return $var;

    }

}

and PHTML code is

<?php
$_gridrecords = $block->getDisplayData();

foreach ($_gridrecords as $d ) 
{   $id= $d->getEntityId();

    echo " ".$id;
}

?>

on cms page is calling my block like this way

{{block class="Diaspark\Location\Block\Show" template="show.phtml"}}

location.php in model

<?php

/**
 * Auction Location Model.
 *
 * @category    Diaspark
 *
 * @author      Diaspark Software Private Limited
 */
namespace Diaspark\Location\Model;

use Diaspark\Location\Api\Data\LocationInterface;

class Location extends \Magento\Framework\Model\AbstractModel implements LocationInterface
{
    /**
     * CMS page cache tag.
     */
    const CACHE_TAG = 'diaspark_location';

    /**
     * @var string
     */
    protected $_cacheTag = 'diaspark_location';

    /**
     * Prefix of model events names.
     *
     * @var string
     */
    protected $_eventPrefix = 'diaspark_location';

    /**
     * Initialize resource model.
     */
    protected function _construct()
    {
        $this->_init('Diaspark\Location\Model\ResourceModel\Location');
    }
    /**
     * Get EntityId.
     *
     * @return int
     */
    public function getEntityId()
    {
        return $this->getData(self::ENTITY_ID);
    }

    /**
     * Set EntityId.
     */
    public function setEntityId($entityId)
    {
        return $this->setData(self::ENTITY_ID, $entityId);
    }

    /**
     * Get Title.
     *
     * @return varchar
     */
    public function getTitle()
    {
        return $this->getData(self::TITLE);
    }

    /**
     * Set Title.
     */
    public function setTitle($title)
    {
        return $this->setData(self::TITLE, $title);
    }


    public function getImage()
    {
        return $this->getData(self::IMAGE);
    }

    /**
     * Set image
     * @param string $image
     * 
     */
    public function setImage($image)
    {
        return $this->setData(self::IMAGE, $image);
    }


    /**
     * Get getContentFirst.
     *
     * @return varchar
     */



    /**
     * Get IsActive.
     *
     * @return varchar
     */
    public function getLocationDescription()
    {
        return $this->getData(self::LOCATION);
    }

    /**
     * Set PublishDate.
     */
    public function setLocationDescription($location_description)
    {
        return $this->setData(self::LOCATION, $location_description);
    }



     public function getAddress()
    {
        return $this->getData(self::ADDRESS);
    }

    /**
     * Set PublishDate.
     */
    public function setAddress($address)
    {
        return $this->setData(self::ADDRESS, $address);
    }

    public function getContact()
    {
        return $this->getData(self::CONTACT);
    }

    /**
     * Set PublishDate.
     */
    public function setContact($contact)
    {
        return $this->setData(self::CONTACT, $contact);
    }

  public function getPublishDate()
    {
        return $this->getData(self::PUBLISH_DATE);
    }

    /**
     * Set PublishDate.
     */
    public function setPublishDate($publishDate)
    {
        return $this->setData(self::PUBLISH_DATE, $publishDate);
    }
}

any help will be appreciated please thanks

1
use Magento\Framework\App\Filesystem\DirectoryList;

protected $_filesystem;

public function __construct(
    \Magento\Framework\Filesystem $_filesystem,
)
{
    $this->_filesystem = $_filesystem;
}

You can get media path by using below code:

$imagePath = $this->_filesystem->getDirectoryRead(DirectoryList::MEDIA)->getAbsolutePath();
$var = $imagePath .'mycustomfolder/';
return $var;

The solution you used will return you URL path not Folder Path.

  • actually getImagePath is runing fine but getDisplayData is not running – sourabh yadav Nov 3 '17 at 14:24
  • can you please add the code of \Diaspark\Location\Model\locationFactory – Abhishek Panchal Nov 3 '17 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.