我在Joomla 2.5.18和Virtue Mart 2.5上有一个eshop 我想在我的产品页面中添加类似代码按钮的Facebook。 我有来自Facebook开发人员工具的代码:
<iframe src="https://www.facebook.com/plugins/share_button.php?href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&layout=button_count&size=small&mobile_iframe=true&width=88&height=20&appId" width="88" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
&#13;
我希望改变文件:
的public_html /组件/ com_virtuemart /视图/产品详细/ TMPL / default_manufacturer.php
我可以添加一些代码,这些代码会出现在产品的制造商信息页面下,但没有任何反应。
<?php
/**
*
* Show the product details page
*
* @package VirtueMart
* @subpackage
* @author Max Milbers, Valerie Isaksen
* @link http://www.virtuemart.net
* @copyright Copyright (c) 2004 - 2010 VirtueMart Team. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* VirtueMart is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* @version $Id: default_manufacturer.php 5409 2012-02-09 13:52:54Z alatak $
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');
?>
<div class="manufacturer">
<?php
$link = JRoute::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $this->product->virtuemart_manufacturer_id . '&tmpl=component', FALSE);
$text = $this->product->mf_name;
/* Avoid JavaScript on PDF Output */
if (strtolower(JRequest::getWord('output')) == "pdf") {
echo JHTML::_('link', $link, $text);
} else {
?>
<span class="bold"><?php echo "123" ?><?php echo JText::_('COM_VIRTUEMART_PRODUCT_DETAILS_MANUFACTURER_LBL') ?></span><a class="modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $link ?>"><?php echo $text ?></a>
<?PHP } ?>
</div>
&#13;
我已经研究了这个主题,似乎有一些插件可以完成这样的工作,不幸的是没有工作
或者他们付费下载,项目预算很低。
答案 0 :(得分:0)
直接更改核心或扩展程序的文件是一个非常糟糕的主意,因为它们很可能在下次更新时丢失。您应该始终创建template override。也许您的活动模板已经有一个,这就是未应用更改的原因。
您可以从以下位置复制文件:
/components/com_virtuemart/views/productdetails/tmpl/default_manufacturer.php
为:
/templates/*your_template/html/com_virtuemart/productdetails/default_manufacturer.php
我已经通过在该文件的末尾添加您生成的小部件(virtuemart 3.0.18)测试了它,它运行得很好。
请注意,此代码包含制造商模板(在default.php中):
<?php
// Manufacturer of the Product
if (VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) {
echo $this->loadTemplate('manufacturer');
}
?>
因此,如果配置禁用了制造商,或者没有分配给产品,则无法加载。
希望这有帮助