コード例 #1
0
/**
 * Function to generate json representation of the cart information
 *
 * This function generate json representation of the cart information
 * 
 *
 * @param $params contains option of the generated result
 * @param $template to associate generated result
 *
 * @return string json code of the cart information
 */
function smarty_function_sirclo_render_cart_json($params, $template)
{
    $jsonData = array();
    $renderer = new Renderer_Cart();
    $renderer->cartTableMode = 'mini';
    if ($message = $template->smarty->getTemplateVars('message')) {
        $jsonData['message'] = $message;
        $jsonData['message_type'] = $template->smarty->getTemplateVars('message_type');
    }
    $cart = $params['cart'];
    $jsonData['cart'] = Helper_Structure::filterArrayByKeys($cart, array('currency_symbol', 'total_items', 'grand_total'));
    $jsonData['cart_html'] = $renderer->renderCartTable($cart);
    return json_encode($jsonData);
}
コード例 #2
0
/**
 * Function to generate cart table
 *
 * This function generate cart table based on the option given in $params. Those options are 
 * <ul>
 *  <li>with_image: To show the image of the cart item</li>
 *  <li>with_edit_item: Able to edit the item</li>
 *  <li>with_break_options: Decide whether there is break option or not</li>
 * </ul>
 *
 * @param $params contains option of the generated result
 * @param $template to associate generated result
 *
 * @return string HTML code of the edit cart form <form>...</form>
 */
function smarty_function_sirclo_render_cart_table($params, $template)
{
    $renderer = Renderer_Cart::getInstanceFromSmartyParams($params, $template);
    $renderParams = array();
    if (isset($params['with_image'])) {
        $renderParams['with_image'] = $params['with_image'];
    }
    if (isset($params['with_edit_item'])) {
        $renderParams['with_edit_item'] = $params['with_edit_item'];
    }
    if (isset($params['with_break_options'])) {
        $renderParams['with_break_options'] = $params['with_break_options'];
    }
    $tableHtml = $renderer->renderCartTable($params['cart'], $renderParams);
    return $tableHtml;
}
/**
 * Function to generate cart shipping method
 * 
 * This function generate cart shipping method
 * 
 *
 * @param $params contains option of the generated result
 * @param $template to associate generated result
 *
 * @return string HTML code of the shipping method 
 */
function smarty_function_sirclo_render_cart_shipping_method($params, $template)
{
    $renderer = Renderer_Cart::getInstanceFromSmartyParams($params);
    $renderParams = array();
    if (isset($params['options'])) {
        $renderParams['options'] = $params['options'];
    }
    if (isset($params['label'])) {
        $renderParams['label'] = $params['label'];
    }
    if (isset($params['shipping_city_options'])) {
        $renderParams['shipping_city_options'] = $params['shipping_city_options'];
    }
    if (isset($params['shipping_city_label'])) {
        $renderParams['shipping_city_label'] = $params['shipping_city_label'];
    }
    $html = $renderer->renderCartEditForm($params['cart'], $renderParams);
    return $html;
}
コード例 #4
0
ファイル: Renderer.php プロジェクト: jeffhorus/sepatuku
 static function sircloRenderPlaceOrderForm($params)
 {
     $_member_salutation = !empty($params['member']['salutation']) ? $params['member']['salutation'] : '';
     $_member_name = !empty($params['member']['first_name']) ? $params['member']['first_name'] : '';
     $_member_address = !empty($params['member']['address_line1']) ? $params['member']['address_line1'] : '';
     $_member_city = !empty($params['member']['city']) ? $params['member']['city'] : '';
     $_member_postal_code = !empty($params['member']['postal_code']) ? $params['member']['postal_code'] : '';
     $_member_state = !empty($params['member']['state']) ? $params['member']['state'] : '';
     $_member_country = !empty($params['member']['country']) ? $params['member']['country'] : '';
     if (!$_member_country && !empty($params['default_country'])) {
         $_member_country = $params['default_country'];
     }
     $_member_phone = !empty($params['member']['phone']) ? $params['member']['phone'] : '';
     $_member_email = !empty($params['member']['email']) ? $params['member']['email'] : '';
     $_shipping_city = !empty($params['shipping_city']) ? $params['shipping_city'] : '';
     $_shipping_country = !empty($params['shipping_country']) ? $params['shipping_country'] : '';
     $_link_terms = !empty($params['link_terms']) ? $params['link_terms'] : '';
     $_link_privacy = !empty($params['link_privacy']) ? $params['link_privacy'] : '';
     $_btn_class = !empty($params['btn_class']) ? $params['btn_class'] : 'btn-flat';
     $_lang = 'en';
     if (!empty($params['lang'])) {
         $_lang = $params['lang'];
     } else {
         if (!empty($params['configs']) && isset($params['configs']['default_lang'])) {
             $_lang = $params['configs']['default_lang'];
         }
     }
     if ($_lang == 'id') {
         $_label_salutation = 'Sapaan';
         $_label_name = 'Nama';
         $_label_phone = 'No HP';
         $_label_address = 'Alamat';
         $_label_city = 'Kota/Kecamatan';
         $_label_postal_code = 'Kode Pos';
         $_label_state = 'Provinsi';
         $_label_country = 'Negara';
         $_label_email = 'E-mail';
         $_label_shipping = "Alamat Pengiriman";
         $_label_shipping_methods = "Metode Pengiriman";
         $_label_backorder_shipping_methods = "Metode Pengiriman Backorder";
         $_label_different_address = 'Kirim ke alamat berbeda?';
         $_label_payment_method = 'Metode Pembayaran';
         $_label_message_subheader = 'Pesan ke Penjual';
         $_label_message = 'Pesan';
         $_label_bank_transfer = !empty($params['label_bank_transfer']) ? $params['label_bank_transfer'] : 'Transfer Bank';
         $_label_credit_card = 'Kartu Kredit / PayPal';
         //$_label_agreement = "Saya telah membaca dan menyetujui <a href='$_link_terms'>Syarat dan Ketentuan</a> dan <a href='$_link_privacy'>Kebijakan Privasi</a>";
     } else {
         $_label_salutation = 'Salutation';
         $_label_name = 'Name';
         $_label_phone = 'Mobile Phone';
         $_label_address = 'Address';
         $_label_city = 'City/District';
         $_label_postal_code = 'Postal Code';
         $_label_state = 'State/Province';
         $_label_country = 'Country';
         $_label_email = 'E-mail';
         $_label_shipping = "Shipping Address";
         $_label_shipping_methods = "Shipping Method";
         $_label_backorder_shipping_methods = "Backorder Shipping Method";
         $_label_different_address = 'Send to different address?';
         $_label_payment_method = 'Payment Method';
         $_label_message_subheader = 'Note to Seller';
         $_label_message = 'Message';
         $_label_bank_transfer = !empty($params['label_bank_transfer']) ? $params['label_bank_transfer'] : 'Bank Transfer';
         $_label_credit_card = 'Credit Card / PayPal';
         //$_label_agreement = "I agree to the <a href='$_link_terms'>Terms of Use</a> and <a href='$_link_privacy'>Privacy Policy</a>";
     }
     $_label_agreement = 'I agree to Terms of Use and Privacy Policy';
     if (!empty($params['configs']['text_agreement'])) {
         $_label_agreement = strip_tags($params['configs']['text_agreement'], '<a>');
     }
     if (empty($params['_payment_methods'])) {
         $_payment_methods = array();
         if (!empty($params['paypal'])) {
             array_push($_payment_methods, array('title' => $_label_credit_card, 'value' => 'paypal'));
         }
         array_push($_payment_methods, array('title' => $_label_bank_transfer, 'value' => 'ibanking'));
     } else {
         $_payment_methods = $params['_payment_methods'];
     }
     $params['fields'] = array();
     $params['fields'][] = array('name' => '', 'type' => 'div', 'value' => '', 'label' => '', 'attribute' => 'class="address address-autocomplete"');
     if (!empty($params['with_salutation'])) {
         $params['fields'][] = array('name' => 'salutation', 'type' => 'salutation', 'value' => $_member_salutation, 'label' => $_label_salutation, 'attribute' => 'required');
     }
     $params['fields'][] = array('name' => 'first_name', 'type' => 'text', 'value' => $_member_name, 'label' => $_label_name, 'attribute' => 'required');
     $params['fields'][] = array('name' => 'phone', 'type' => 'text', 'value' => $_member_phone, 'label' => $_label_phone, 'attribute' => 'required');
     $params['fields'][] = array('name' => 'address_line1', 'type' => 'text', 'value' => $_member_address, 'label' => $_label_address, 'attribute' => 'required');
     $params['fields'][] = array('name' => 'country', 'type' => 'country', 'value' => $_member_country, 'label' => $_label_country, 'attribute' => 'required data-area-autocomplete="country"');
     $params['fields'][] = array('name' => 'state', 'type' => 'text', 'value' => $_member_state, 'label' => $_label_state, 'attribute' => 'required data-area-autocomplete="state"');
     $params['fields'][] = array('name' => 'city', 'type' => 'text', 'value' => $_member_city, 'label' => $_label_city, 'attribute' => 'required data-area-autocomplete="city"');
     $params['fields'][] = array('name' => 'postal_code', 'type' => 'text', 'value' => $_member_postal_code, 'label' => $_label_postal_code, 'attribute' => 'required');
     $params['fields'][] = array('name' => 'email', 'type' => 'email', 'value' => $_member_email, 'label' => $_label_email, 'attribute' => 'required');
     $params['fields'][] = array('name' => '', 'type' => 'div_close', 'value' => '', 'label' => '', 'attribute' => '');
     $params['fields'][] = array('name' => '', 'type' => 'subheader', 'value' => $_label_shipping, 'label' => '', 'attribute' => '');
     $params['fields'][] = array('name' => 'is_set_delivery', 'type' => 'checkbox', 'value' => '', 'label' => $_label_different_address, 'attribute' => '');
     $params['fields'][] = array('name' => '', 'type' => 'div', 'value' => '', 'label' => '', 'attribute' => 'class="delivery-address address-autocomplete" style="display:none;"');
     $params['fields'][] = array('name' => 'delivery_first_name', 'type' => 'text', 'value' => $_member_name, 'label' => $_label_name, 'attribute' => 'required');
     $params['fields'][] = array('name' => 'delivery_phone', 'type' => 'text', 'value' => $_member_phone, 'label' => $_label_phone, 'attribute' => 'required');
     $params['fields'][] = array('name' => 'delivery_address_line1', 'type' => 'text', 'value' => $_member_address, 'label' => $_label_address, 'attribute' => 'required');
     $params['fields'][] = array('name' => 'delivery_country', 'type' => 'country', 'value' => $_member_country, 'label' => $_label_country, 'attribute' => 'required data-area-autocomplete="country"');
     $params['fields'][] = array('name' => 'delivery_state', 'type' => 'text', 'value' => $_member_state, 'label' => $_label_state, 'attribute' => 'required data-area-autocomplete="state"');
     $params['fields'][] = array('name' => 'delivery_city', 'type' => 'text', 'value' => $_member_city, 'label' => $_label_city, 'attribute' => 'required data-area-autocomplete="city"');
     $params['fields'][] = array('name' => 'delivery_postal_code', 'type' => 'text', 'value' => $_member_postal_code, 'label' => $_label_postal_code, 'attribute' => 'required');
     $params['fields'][] = array('name' => 'delivery_email', 'type' => 'email', 'value' => $_member_email, 'label' => $_label_email, 'attribute' => 'required');
     $params['fields'][] = array('name' => '', 'type' => 'div_close', 'value' => '', 'label' => '', 'attribute' => '');
     if (!empty($params['with_shipping_methods'])) {
         $params['fields'][] = array('name' => '', 'type' => 'subheader', 'value' => $_label_shipping_methods, 'label' => '', 'attribute' => '');
         $params['fields'][] = array('name' => 'shipping_value_wrapper', 'type' => 'plain_text', 'value' => '', 'label' => '', 'attribute' => '');
     }
     if (!empty($params['with_backorder_shipping_methods'])) {
         $params['fields'][] = array('name' => '', 'type' => 'subheader', 'value' => $_label_backorder_shipping_methods, 'label' => '', 'attribute' => '');
         $params['fields'][] = array('name' => 'backorder_shipping_value_wrapper', 'type' => 'plain_text', 'value' => '', 'label' => '', 'attribute' => '');
     }
     $params['fields'][] = array('name' => '', 'type' => 'subheader', 'value' => $_label_payment_method, 'label' => '', 'attribute' => '');
     $params['fields'][] = array('name' => 'payment_method', 'type' => 'radio', 'value' => $_payment_methods, 'label' => '', 'attribute' => 'required');
     $params['fields'][] = array('name' => '', 'type' => 'subheader', 'value' => $_label_message_subheader, 'label' => '', 'attribute' => '');
     $params['fields'][] = array('name' => 'message', 'type' => 'textarea', 'value' => '', 'label' => $_label_message, 'attribute' => '');
     if (!empty($_label_agreement)) {
         $params['fields'][] = array('name' => 'agreement', 'type' => 'checkbox', 'value' => '', 'label' => $_label_agreement, 'attribute' => 'required');
     }
     $params['fields'][] = array('name' => '', 'type' => 'submit', 'value' => 'Place Order', 'label' => '', 'attribute' => 'class="' . $_btn_class . '"');
     $renderer = Renderer_Cart::getInstanceFromSmartyParams($params);
     $couponForm = $renderer->_getDiscountForm(array('link' => '/cart?return=' . htmlentities($_SERVER['REQUEST_URI']), 'discounts' => ''));
     $html = Helper_Renderer::renderForm($params) . $couponForm;
     return $html;
 }