有谁知道PHP的免费送货计算器?我不想要任何太过花哨的东西,它可以与任何美国主要的国内航运服务兼容.
如果有人知道一个是CodeIgniter插件的那个会很好.
特拉维斯
当我说框时,我说的是运输箱.
我有一些随机大小的小物品,我需要装入尽可能少的箱子.我需要知道什么样的盒子尺寸是最佳的.
存在什么算法允许我计算我需要用于最佳空间使用的盒子大小?将大多数物品放入尽可能少的箱子中.
可用的盒子尺寸来自我现有的库存.出于示例目的,您可以创建有限数量的组合盒尺寸.
我正在尝试隐藏一些基于shipping_method.phtml的文本/代码,具体取决于所选或输入的送货地址的国家/地区是否为法国.
我发现的唯一代码是
Mage::getSingleton('checkout/type_onepage')->getQuote()->getShippingAddress()->getCountryId()
Run Code Online (Sandbox Code Playgroud)
但所有这一切都是在地址簿中返回我的默认地址的countryID.因此,当地址已经在地址簿中时,代码可以工作,但如果客户决定将他/她想要发送到新地址,则代码不起作用.
所以我需要一种方法来访问php/javascript中选择/输入的CountryID(应该存储在某个地方的会话中,因为它显示在进度侧栏中).
请注意,我在magento CE 1.7.0.2中使用标准的onepage checkout.
我迫切需要知道Shopify API中UPS标准运输的具体代码.它将是订单API中的2位数字,即运输行>运输行>代码.
谢谢你的帮助.
我正在开发一种新的运输方法,该方法可以根据包裹的重量,体积和客户的邮政编码来计算费率……我在检索calculate_shipping函数上的购物车信息时没有问题,但是当我尝试从客户那里获取邮政编码时它似乎返回一个空值。如何在运行时检索此信息以计算最终成本?
public function calculate_shipping( $package ) {
GLOBAL $woocommerce;
$items = $woocommerce->cart->get_cart();
$cliente = $woocommerce->customer;
$peso = $woocommerce->cart->cart_contents_weight;
$customer_postcode = $woocommerce->customer->get_shipping_postcode();
}
Run Code Online (Sandbox Code Playgroud)
解决了:
$customer_postcode = get_user_meta( get_current_user_id(), 'shipping_postcode', true );
我创建了一个自定义送货方式.(https://docs.woocommerce.com/document/shipping-method-api/)
在calculate_shipping函数中,我想根据出货区域设置我的送货方式的价格:
如果运输区域为"区域1",则将价格设置为15,否则将价格设置为20
所以我想知道,我怎样才能获得当前的运输区?
我已经尝试看到这个文档:https://docs.woocommerce.com/wc-apidocs/class-WC_Shipping_Zone.html 也许我不明白......
public function calculate_shipping( $package=Array()) {
global $woocommerce;
$cart_total=$woocommerce->cart->cart_contents_total;
$current_hour=date('His');
$start_hour='110000';
$end_hour='210000';
// CONDITIONAL CHECK
// OPEN HOUR
if($current_hour >= $start_hour && $current_hour <= $end_hour){
$is_open=true;
}else{
$is_open=false;
}
// price PER ZONE
$zone=""; // need to know how to get zone name or zone id
if($zone=='Zone 1' && $cart_total>='60'){
$min_order=true;
$cost = 6;
}elseif($zone=='Zone 2' && $cart_total>='120'){
$min_order=true;
$cost = 8;
}elseif($zone=='Zone 3' && $cart_total>='180'){
$min_order=true;
$cost = 9; …
Run Code Online (Sandbox Code Playgroud) 筛选器挂钩woocommerce_sections_shipping
无法将部分标签添加到woocommerce运送设置中:
if ( ! class_exists('WC_Shipping_Calculator')){
class WC_Shipping_Calculator{
public function __construct(){
add_filter('woocommerce_get_settings_shipping', array( $this, 'add_settings_tab'), 100);
//add_filter('woocommerce_settings_tabs_array', array( $this, 'add_settings_tab'), 100);
//add_filter('woocommerce_sections_shipping_array', array( $this, 'add_settings_tab'), 100);
}
public function add_settings_tab($settings_tabs){
$settings_tabs['shipping_calculator'] = __('Shipping Calculator', 'shipping-calculator');
return $settings_tabs;
}
}
}
$GLOBAL['wc_shipping_calculator'] = new WC_Shipping_Calculator();
Run Code Online (Sandbox Code Playgroud)
我可以用来为woocommerce运送设置添加部分标签的过滤器是什么?
我已经采用了两种送货方式.1. tablerate 2.免运费
我只需要展示单一运输方式,并启用两种运输方式.我在app\code\core\Mage\Checkout\Block\Onepage\Shipping\Method\Available.php中自定义代码
if (!empty($groups)) {
$ratesFilter = new Varien_Filter_Object_Grid();
$ratesFilter->addFilter(Mage::app()->getStore()->getPriceFilter(), 'price');
$custom = array();
$k=0;
foreach ($groups as $code => $groupItems) {
$custom['shippingmethod'][$k] = $code;
$k++;
}
$check = array('tablerate','freeshipping');
if(in_array($check,$custom)){
foreach ($groups as $code => $groupItems) {
if($code == 'tablerate')
$groups[$code] = $ratesFilter->filter($groupItems);
}
} else {
foreach ($groups as $code => $groupItems) {
$groups[$code] = $ratesFilter->filter($groupItems);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它不给我运费方式的价格.还有其他解决方案吗?
我需要在购物车页面的另一侧显示运费。
我试过了:
<?php
$current_shipping_cost = WC()->cart->get_cart_shipping_total();
echo $current_shipping_cost;
?>
Run Code Online (Sandbox Code Playgroud)
但是打印价值并没有运输成本的标题,因为我使用的标题是:“ UPS 24/48小时快递4.90欧元”…
如何在woocommerce中获得订单运输成本?
我有一个为美国航运工作的航运实现,但是我无法让这个实现与国际航运一起工作。我正在使用送货代码 07、08、54 和 55,但出现错误
“111210 所请求的服务在所选位置之间不可用。”。
当我在美国输入运送地址时,我没有收到此错误。我试过西班牙和墨西哥。
费率 API 是否支持国际运输?是否有什么不同需要完成或传递才能使国际运费生效?
shipping ×10
php ×5
woocommerce ×4
wordpress ×4
api ×2
ups ×2
algorithm ×1
calculus ×1
cart ×1
checkout ×1
class ×1
codeigniter ×1
country ×1
magento ×1
magento-1.7 ×1
optimization ×1
rate ×1
shopify ×1