【问题标题】:Call image url into magento admin将图像 url 调用到 magento admin
【发布时间】:2014-04-11 05:28:56
【问题描述】:

希望您能帮助我 - 我似乎无法从 magento 中的图像文件夹中回忆起允许缩略图出现在管理员中所需的 url:

 $p = Mage::getModel('catalog/product')->load($row->getproduct_id());
    $html = '<img src="' . Mage::getBaseUrl('media') . 'catalog/product' . $p->getsmall_image() . '" width="50" height="50" alt="' . $p->getname() . '" />';
    return $html;

这是我在下面得到的网址:

media/catalog/productno_selection

有没有人知道如何调用缩略图?

【问题讨论】:

    标签: php image magento call base


    【解决方案1】:

    您可以使用自定义渲染器在管理网格中显示任何外部对象

    _prepareColumns() 函数,在 Grid.php(路径:code/local/Packagename/Modulename/Block/Adminhtml/Modulename/Grid.php)中。

    $this->addColumn('modulenameimage', array(
        'header' => Mage::helper('modulename')->__('Image'),
        'align' => 'left',
        'index' => 'modulenameimage',
        'renderer' => 'modulename/adminhtml_modulename_renderer_image',
        'width' => '107'
    ));
    

    并制作一个额外的渲染文件,如

    Packagename_Modulename_Block_Adminhtml_Modulename_Renderer_Image
    

    在渲染文件中添加以下代码

    class Packagename_Modulename_Block_Adminhtml_Modulename_Renderer_Image extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
    
        public function render(Varien_Object $row) {
            $html = '<img ';="" $html="" .="id="" $this-="">getColumn()->getId() . '" ';
            $html .= 'width="' . $this->getColumn()->getWidth() . '" ';
            $html .= 'src="' . Mage::getBaseUrl("media") . 'images/' . $row->getData($this->getColumn()->getIndex()) . '"';
            $html .= 'class="grid-image ' . $this->getColumn()->getInlineCss() . '"/>';
            return $html;
        }
    
    }
    

    您可以根据需要指定高度和宽度。

    希望这对你有帮助。如果我能进一步帮助您,请告诉我。

    【讨论】:

      【解决方案2】:

      如果您需要管理网格中的图像

      查看此网址http://magento.ikantam.com/qa/how-add-custom-renderer-magento-grid

      在您的网格中添加下面的列

         …
          $this->addColumn('product_id', array(
          'header' => $this->__('Product'),
                      'align'  => 'center',
                      'index'  => 'product_id',
                      'width'  => '50px',
                      'renderer'  => 'Namespace_Module_Block_Product'
          ));
          …   
      

      现在我们将创建参数renderer

      中指示的块
      <?php
      
      class Namespace_Module_Block_Product extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
      {  
       public function render(Varien_Object $row)
       {
          $productId =  $row->getData($this->getColumn()->getIndex());
          $product = Mage::getModel('catalog/product')->load($productId);
          $value = '<img src="">';
          if($product->getImage()!= 'noselection')
          {
            $value='<img src="' . $product->getImageUrl() . '" width="100" height="100" />';
          }
      
          return $value;
      }
      }
      

      查看以下链接可帮助您在网格中创建自定义列

      http://magento.ikantam.com/qa/how-add-custom-renderer-magento-grid

      你需要渲染。

      希望对你有帮助

      【讨论】:

      • 请不要复制或盗取他人答案的东西和逻辑。你可以从我的复制和编辑你的答案。 meta.stackexchange.com/questions/78658/… 请参阅 meta 的这篇文章。请不要再这样做了。
      • 你能提供它复制的网址吗? & 我清楚地提到这个逻辑来自博客文章magento.ikantam.com/qa/how-add-custom-renderer-magento-grid
      • 您已编辑整个答案并从我的答案中复制概念以使您的答案接受。 :(
      • 哈哈大笑话 liyakat 你可以检查我们的两个渲染它完全不同&我以为你复制了我的答案。 &我在这里发帖不是为了获得声誉。你想要这个信用比我没有问题。我们不是孩子。 :)
      • 我不需要任何声誉,6.5k+ 足以信任我的回答。我想你需要它。这就是你窃取我的概念和逻辑的方式。希望版主关注这个。
      猜你喜欢
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多