3

除了 .co.uk 商店视图之外,我们希望禁止从我们所有的商店视图中向英国发货……

我按照http://techportal.inviqa.com/2011/06/09/creating-a-custom-magento-shipping-method/http://www.magentocommerce.com上的指南创建了自己的自定义运输模块/wiki/5__-_modules_and_development/shipping/create-shipping-method-module

如您所见,在上述两个链接中,都有一个 xml 块说明是否允许所有国家或特定国家

<sallowspecific>0</sallowspecific>

上述块的描述如下

sallowspecific  set to 1 to limit the countries the rate is applicable to

我真的可以用一个例子来说明 config.xml 应该是什么样子,将 sallowspecific 设置为 1

非常感谢任何输入!

谢谢!

杰夫

4

2 回答 2

4

有一个配置选项可以设置您允许的国家/地区。默认情况下,所有国家都被选中。您可以将其修改为商店视图级别以删除英国商店。你可以在这里找到它:

System -> Configuration -> General -> General -> Countries Options -> Allow Countries

如果会有多个这样的情况,我建议在全球范围内禁用英国和任何其他国家/地区,然后在每个商店/商店视图级别启用您想要的国家/地区。这应该可以帮助您管理大多数商店视图,而无需手动更新每一个视图。

于 2013-01-17T16:25:57.957 回答
2

如果用户在安装后未设置这些代码行,则只会为您的模块设置默认值

<default>
    <carriers>
        <shippingName>
            <sallowspecific>0</sallowspecific>

sallowspecific设置为 0 时,它将启用您的国家/地区选择器,以便您可以选择要运送到哪个国家/地区,以便更好地了解这项工作如何查看“统一费率”并更改“运送到适用国家/地区”的选项' 并看看“运送到特定国家/地区”会发生什么。

这就是 1 和 0 的集合

 <select id="carriers_flatrate_sallowspecific" name="groups[flatrate][fields][sallowspecific][value]" class="shipping-applicable-country select">
     <option value="0" selected="selected">All Allowed Countries</option>
     <option value="1">Specific Countries</option>
 </select>

如果sallowspecific设置为 1,那么您的默认值应如下所示

<default>
    <carriers>
        <shippingName>
            <sallowspecific>0</sallowspecific>
            <specificcountry>US,GB</specificcountry>

在你的 system.xml 你需要有

   <sallowspecific translate="label">
        <label>Ship to Applicable Countries</label>
        <frontend_type>select</frontend_type>
        <sort_order>90</sort_order>
        <frontend_class>shipping-applicable-country</frontend_class>
        <source_model>adminhtml/system_config_source_shipping_allspecificcountries</source_model>
        <show_in_default>1</show_in_default>
        <show_in_website>1</show_in_website>
        <show_in_store>1</show_in_store>
    </sallowspecific>
    <specificcountry translate="label">
        <label>Ship to Specific Countries</label>
        <frontend_type>multiselect</frontend_type>
        <sort_order>91</sort_order>
        <source_model>adminhtml/system_config_source_country</source_model>
        <show_in_default>1</show_in_default>
        <show_in_website>1</show_in_website>
        <show_in_store>1</show_in_store>
        <can_be_empty>1</can_be_empty>
    </specificcountry>

然后转到每个商店视图并选择适用的国家。

于 2013-01-15T23:47:32.717 回答