沙滩星空的博客沙滩星空的博客

PrestaShop从商品详情页,跳转到亚马逊等外部电商平台

部署PrestaShop

vim startprestashop.sh:

#/bin/bash

# create a network for containers to communicate
docker network create prestashop-net

# 启动MySQL5.7容器。注意,官方的说明不可靠,MySQL没有挂载数据卷,重启服务器后,数据可能丢失。
docker run --name santic-mysql --network prestashop-net -e MYSQL_ROOT_PASSWORD=admin -v ./mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro -v ./mysql/var/lib/mysql:/var/lib/mysql/:rw -p 3307:3306 -d mysql:5.7

# launch prestashop container
docker run --name santic-prestashop --network prestashop-net -e DB_SERVER=santic-mysql -p 8000:80 -v /root/prestashop:/var/www/html -d prestashop/prestashop:8.2.1
  • 手动安装
  1. 数据库服务器地址:填写容器名:santic-mysql
  2. 数据库名称:prestashop。数据库登录名:root
  3. 数据库用户密码:admin。实际是看启动容器时,MYSQL_ROOT_PASSWORD=admin 这个参数的具体数值。
  4. 服务器的 prestashop项目源码, 里面有个 admin文件夹, 安装成功后,会被重命名。比如 adminabc123456xxx
  5. 进入服务器,删除 install 文件夹。
  6. 访问链接:http://xxxx.com/adminabc123456xxx 进管理后台。链接以被重命名的 admin 文件夹名为准。

定制外部电商平台商品链接

需求:

我在PrestaShop的管理后台,`分类` - `属性和功能` - `特性` 这个选项卡中,定义了一个名为 `link_url` 的新特性,用来定义外部网页的字符串。在商品中使用这个特性。使用方法是:如果使用了这个特性,就创建一个按钮,跳转到这个特性对应的外部网页。

修改代码:

# vim themes/classic/templates/catalog/product.tpl

{if $product.features}
  {foreach $product.features as $feature}
    {if $feature.name == 'link_url' && $feature.value}
      <a href="{$feature.value|escape:'html':'UTF-8'}" 
         class="btn btn-primary external-link"
         target="_blank"
         rel="noopener noreferrer">
        {l s='访问亚马逊' d='Shop.Theme.Actions'}
      </a>
    {/if}
  {/foreach}
{/if}

或者:

# vim themes/classic/templates/catalog/_partials/product-add-to-cart.tpl

    {block name='product_quantity'}
      <div class="product-quantity clearfix">
        <div class="qty">
          <input
            type="number"
            name="qty"
            id="quantity_wanted"
            inputmode="numeric"
            pattern="[0-9]*"
            {if $product.quantity_wanted}
              value="{$product.quantity_wanted}"
              min="{$product.minimal_quantity}"
            {else}
              value="1"
              min="1"
            {/if}
            class="input-group"
            aria-label="{l s='Quantity' d='Shop.Theme.Actions'}"
          >
        </div>

        <div class="add">


{if $product.features}
  {foreach $product.features as $feature}
    {if $feature.name == 'LinkUrl' && $feature.value}
      <a href="{$feature.value|escape:'html':'UTF-8'}"
         class="btn btn-primary external-link"
         target="_blank"
         rel="noopener noreferrer">
        <i class="material-icons shopping-cart">&#xE547;</i>
        {l s='Buy' d='Shop.Theme.Actions'}
      </a>
    {/if}
  {/foreach}
{/if}


<!--
          <button
            class="btn btn-primary add-to-cart"
            data-button-action="add-to-cart"
            type="submit"
            {if !$product.add_to_cart_url}
              disabled
            {/if}
            <i class="material-icons shopping-cart">&#xE547;</i>
            {l s='Add to cart' d='Shop.Theme.Actions'}
          </button>
-->
        </div>

        {hook h='displayProductActions' product=$product}
      </div>
    {/block}

未经允许不得转载:沙滩星空的博客 » PrestaShop从商品详情页,跳转到亚马逊等外部电商平台

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址