在我的 prestashop 网站中,我已经实现了块社交模块,默认情况下我可以获取 facebook、twitter 和 rss 社交图标。我怎样才能获得其他社交图标,例如 google、pinterest 和 you tube。
问问题
4183 次
3 回答
0
你必须编辑 blocksocial.php
这段代码我添加了谷歌链接
在模块文件夹中的 blocksocial.php 上找到“getContent”方法
并将其更改为
public function getContent()
{
// If we try to update the settings
$output = '';
if (isset($_POST['submitModule']))
{
Configuration::updateValue('blocksocial_facebook', (($_POST['facebook_url'] != '') ? $_POST['facebook_url']: ''));
Configuration::updateValue('blocksocial_twitter', (($_POST['twitter_url'] != '') ? $_POST['twitter_url']: ''));
Configuration::updateValue('blocksocial_rss', (($_POST['rss_url'] != '') ? $_POST['rss_url']: ''));
Configuration::updateValue('blocksocial_google', (($_POST['google_url'] != '') ? $_POST['google_url']: ''));
$this->_clearCache('blocksocial.tpl');
$output = '<div class="conf confirm">'.$this->l('Configuration updated').'</div>';
}
return '
<h2>'.$this->displayName.'</h2>
'.$output.'
<form action="'.Tools::htmlentitiesutf8($_SERVER['REQUEST_URI']).'" method="post">
<fieldset class="width2">
<label for="facebook_url">'.$this->l('Facebook URL: ').'</label>
<input type="text" id="facebook_url" name="facebook_url" value="'.Tools::safeOutput((Configuration::get('blocksocial_facebook') != "") ? Configuration::get('blocksocial_facebook') : "").'" />
<div class="clear"> </div>
<label for="twitter_url">'.$this->l('Twitter URL: ').'</label>
<input type="text" id="twitter_url" name="twitter_url" value="'.Tools::safeOutput((Configuration::get('blocksocial_twitter') != "") ? Configuration::get('blocksocial_twitter') : "").'" />
<div class="clear"> </div>
<label for="rss_url">'.$this->l('RSS URL: ').'</label>
<input type="text" id="rss_url" name="rss_url" value="'.Tools::safeOutput((Configuration::get('blocksocial_rss') != "") ? Configuration::get('blocksocial_rss') : "").'" />
<div class="clear"> </div>
<label for="rss_url">'.$this->l('Goolge Plug: ').'</label>
<input type="text" id="google_url" name="google_url" value="'.Tools::safeOutput((Configuration::get('blocksocial_google') != "") ? Configuration::get('blocksocial_google') : "").'" />
<div class="clear"> </div>
<br /><center><input type="submit" name="submitModule" value="'.$this->l('Update settings').'" class="button" /></center>
</fieldset>
</form>';
}
然后找到“hookDisplayFooter”方法
并将其更改为
public function hookDisplayFooter()
{
if (!$this->isCached('blocksocial.tpl', $this->getCacheId()))
$this->smarty->assign(array(
'facebook_url' => Configuration::get('blocksocial_facebook'),
'twitter_url' => Configuration::get('blocksocial_twitter'),
'rss_url' => Configuration::get('blocksocial_rss'),
'google_url' => Configuration::get('blocksocial_google')
));
return $this->display(__FILE__, 'blocksocial.tpl', $this->getCacheId());
}
最后您需要更改模板文件。如果您的模板文件被您的主题覆盖意味着从主题文件夹中找到一个“模块”文件夹并找到“blocksocial”文件夹并编辑blocksocial.tpl
如果它没有被您的主题文件覆盖,则意味着您可以编辑模块文件夹中的 blocksocial.tpl
改变应该是
<div id="social_block">
<p class="title_block">{l s='Follow us' mod='blocksocial'}</p>
<ul>
{if $facebook_url != ''}<li class="facebook"><a href="{$facebook_url|escape:html:'UTF-8'}">{l s='Facebook' mod='blocksocial'}</a></li>{/if}
{if $twitter_url != ''}<li class="twitter"><a href="{$twitter_url|escape:html:'UTF-8'}">{l s='Twitter' mod='blocksocial'}</a></li>{/if}
{if $rss_url != ''}<li class="rss"><a href="{$rss_url|escape:html:'UTF-8'}">{l s='RSS' mod='blocksocial'}</a></li>{/if}
{if $google_url != ''}<li class="google"><a href="{$google_url|escape:html:'UTF-8'}">{l s='Google' mod='blocksocial'}</a></li>{/if}
</ul>
</div>
于 2013-12-05T12:18:15.820 回答
0
您可以使用社交登录模块从以下链接添加社交图标以进行共享以及登录过程:
http://loginradius-social-plugins.s3.amazonaws.com/Prestashop/v1.5/sociallogin.zip
它在我的网站上运行良好。
于 2013-12-07T07:29:37.910 回答
0
这对我来说看起来不完整。您是否不必同时更改“sprite_pict_social_block.png”来获得额外的徽标?
于 2013-12-13T11:51:01.157 回答