Як спростити форму замовлення товару - jigoshop

Avatar

Від webxid 28-05-2013 15:40:39

Новенький · 2 повідомлень

Вітаю!

Стандартна форма занадто закручена, хотілося б спростити її. Плагін для такої речі коштує 49$, що не може не тішити... 
Попередньо я думав робити магазин на WooCommerce, та передумав через українську локацію.
Для вукомерса є спеціальний плагін, який розширює російський переклад + дозволяє змінювати налаштування форми замовлення. Зважаючи на це, припускаю, що дані про форму замовлення зберігаються в базі.

Заліз я в базу даних і знайшов там ось таий параметр: jigoshop_options в таблиці wp_options.
Вміст поля option_value:

a:139:{s:24:"jigoshop_default_country";s:2:"UA";s:17:"jigoshop_currency";s:3:"UAH";s:26:"jigoshop_allowed_countries";s:3:"all";s:35:"jigoshop_specific_allowed_countries";s:0:"";s:19:"jigoshop_demo_store";s:3:"yes";s:21:"jigoshop_company_name";s:0:"";s:19:"jigoshop_tax_number";s:0:"";s:22:"jigoshop_address_line1";s:0:"";s:22:"jigoshop_address_line2";s:0:"";s:22:"jigoshop_company_phone";s:0:"";s:22:"jigoshop_company_email";s:0:"";s:34:"jigoshop_prepend_shop_page_to_urls";s:2:"no";s:37:"jigoshop_prepend_shop_page_to_product";s:2:"no";s:36:"jigoshop_prepend_category_to_product";s:2:"no";s:30:"jigoshop_product_category_slug";s:5:"store";s:25:"jigoshop_product_tag_slug";s:12:"products-tag";s:14:"jigoshop_email";s:14:"webxid@ukr.net";s:31:"jigoshop_cart_shows_shop_button";s:3:"yes";s:29:"jigoshop_redirect_add_to_cart";s:9:"same_page";s:29:"jigoshop_reset_pending_orders";s:2:"no";s:32:"jigoshop_downloads_require_login";s:2:"no";s:20:"jigoshop_disable_css";s:2:"no";s:32:"jigoshop_frontend_with_theme_css";s:2:"no";s:25:"jigoshop_disable_fancybox";s:2:"no";s:35:"jigoshop_enable_postcode_validating";s:2:"no";s:37:"jigoshop_verify_checkout_info_message";s:3:"yes";s:33:"jigoshop_eu_vat_reduction_message";s:3:"yes";s:30:"jigoshop_enable_guest_checkout";s:3:"yes";s:27:"jigoshop_enable_guest_login";s:3:"yes";s:27:"jigoshop_enable_signup_form";s:3:"yes";s:27:"jigoshop_force_ssl_checkout";s:2:"no";s:18:"jigoshop_sharethis";s:0:"";s:14:"jigoshop_ga_id";s:0:"";s:38:"jigoshop_ga_ecommerce_tracking_enabled";s:2:"no";s:21:"jigoshop_cart_page_id";i:23;s:25:"jigoshop_checkout_page_id";i:29;s:20:"jigoshop_pay_page_id";i:30;s:23:"jigoshop_thanks_page_id";i:31;s:26:"jigoshop_myaccount_page_id";i:25;s:29:"jigoshop_edit_address_page_id";i:26;s:27:"jigoshop_view_order_page_id";i:28;s:32:"jigoshop_change_password_page_id";i:27;s:28:"jigoshop_track_order_page_id";i:24;s:22:"jigoshop_terms_page_id";s:0:"";s:21:"jigoshop_shop_page_id";i:22;s:30:"jigoshop_shop_redirect_page_id";i:22;s:31:"jigoshop_catalog_product_button";s:3:"add";s:29:"jigoshop_catalog_sort_orderby";s:9:"post_date";s:31:"jigoshop_catalog_sort_direction";s:3:"asc";s:24:"jigoshop_catalog_columns";s:1:"3";s:25:"jigoshop_catalog_per_page";s:2:"12";s:21:"jigoshop_currency_pos";s:4:"left";s:27:"jigoshop_price_thousand_sep";s:1:",";s:26:"jigoshop_price_decimal_sep";s:1:".";s:27:"jigoshop_price_num_decimals";s:1:"2";s:32:"jigoshop_use_wordpress_tiny_crop";s:2:"no";s:37:"jigoshop_use_wordpress_thumbnail_crop";s:2:"no";s:35:"jigoshop_use_wordpress_catalog_crop";s:2:"no";s:36:"jigoshop_use_wordpress_featured_crop";s:2:"no";s:20:"jigoshop_shop_tiny_w";i:36;s:20:"jigoshop_shop_tiny_h";i:36;s:25:"jigoshop_shop_thumbnail_w";i:90;s:25:"jigoshop_shop_thumbnail_h";i:90;s:21:"jigoshop_shop_small_w";i:150;s:21:"jigoshop_shop_small_h";i:150;s:21:"jigoshop_shop_large_w";i:300;s:21:"jigoshop_shop_large_h";i:300;s:19:"jigoshop_enable_sku";s:3:"yes";s:22:"jigoshop_enable_weight";s:3:"yes";s:20:"jigoshop_weight_unit";s:2:"kg";s:26:"jigoshop_enable_dimensions";s:3:"yes";s:23:"jigoshop_dimension_unit";s:2:"cm";s:34:"jigoshop_product_thumbnail_columns";s:1:"3";s:32:"jigoshop_enable_related_products";s:3:"yes";s:21:"jigoshop_manage_stock";s:3:"yes";s:19:"jigoshop_show_stock";s:3:"yes";s:25:"jigoshop_notify_low_stock";s:3:"yes";s:32:"jigoshop_notify_low_stock_amount";s:1:"2";s:24:"jigoshop_notify_no_stock";s:3:"yes";s:31:"jigoshop_notify_no_stock_amount";s:1:"0";s:30:"jigoshop_hide_no_stock_product";s:2:"no";s:19:"jigoshop_calc_taxes";s:3:"yes";s:25:"jigoshop_tax_after_coupon";s:3:"yes";s:27:"jigoshop_prices_include_tax";s:2:"no";s:20:"jigoshop_tax_classes";s:22:"Reduced Rate
Zero Rate";s:18:"jigoshop_tax_rates";a:0:{}s:22:"jigoshop_calc_shipping";s:3:"yes";s:29:"jigoshop_enable_shipping_calc";s:3:"yes";s:37:"jigoshop_ship_to_billing_address_only";s:2:"no";s:38:"jigoshop_show_checkout_shipping_fields";s:2:"no";s:17:"jigoshop_page-ids";a:10:{i:0;i:22;i:1;i:23;i:2;i:24;i:3;i:25;i:4;i:26;i:5;i:27;i:6;i:28;i:7;i:29;i:8;i:30;i:9;i:31;}s:26:"jigoshop_flat_rate_enabled";s:3:"yes";s:24:"jigoshop_flat_rate_title";s:31:"Фіксований тариф";s:23:"jigoshop_flat_rate_type";s:5:"order";s:29:"jigoshop_flat_rate_tax_status";s:7:"taxable";s:23:"jigoshop_flat_rate_cost";s:1:"0";s:31:"jigoshop_flat_rate_handling_fee";s:0:"";s:31:"jigoshop_flat_rate_availability";s:3:"all";s:28:"jigoshop_flat_rate_countries";s:0:"";s:30:"jigoshop_free_shipping_enabled";s:2:"no";s:28:"jigoshop_free_shipping_title";s:39:"Безкоштовна доставка";s:37:"jigoshop_free_shipping_minimum_amount";s:1:"0";s:35:"jigoshop_free_shipping_availability";s:3:"all";s:32:"jigoshop_free_shipping_countries";s:0:"";s:29:"jigoshop_local_pickup_enabled";s:2:"no";s:27:"jigoshop_local_pickup_title";s:28:"Забрати в офісі";s:34:"jigoshop_local_pickup_availability";s:3:"all";s:31:"jigoshop_local_pickup_countries";s:0:"";s:23:"jigoshop_cheque_enabled";s:3:"yes";s:21:"jigoshop_cheque_title";s:23:"Оплата чеком";s:27:"jigoshop_cheque_description";s:159:"Будь ласка, надішліть ваш чек у магазин (назва, адреса, місто, штат/країна, поштовий код).";s:23:"jigoshop_paypal_enabled";s:2:"no";s:21:"jigoshop_paypal_title";s:6:"PayPal";s:27:"jigoshop_paypal_description";s:171:"Оплатити через PayPal; ви можете оплатити своєю банківською карткою, якщо не маєте рахунок у PayPal.";s:21:"jigoshop_paypal_email";s:0:"";s:29:"jigoshop_paypal_send_shipping";s:2:"no";s:29:"jigoshop_paypal_force_payment";s:2:"no";s:24:"jigoshop_paypal_testmode";s:2:"no";s:22:"jigoshop_sandbox_email";s:0:"";s:30:"jigoshop_bank_transfer_enabled";s:2:"no";s:28:"jigoshop_bank_transfer_title";s:54:"Оплата банківським переказом";s:34:"jigoshop_bank_transfer_description";s:239:"Будь ласка, використайте такі деталі для переказу по вашому замовленню, як тільки оплату отримано, ваше замовлення буде оброблено.";s:32:"jigoshop_bank_transfer_bank_name";s:0:"";s:33:"jigoshop_bank_transfer_acc_number";s:0:"";s:37:"jigoshop_bank_transfer_account_holder";s:0:"";s:32:"jigoshop_bank_transfer_sort_code";s:0:"";s:27:"jigoshop_bank_transfer_iban";s:0:"";s:26:"jigoshop_bank_transfer_bic";s:0:"";s:33:"jigoshop_bank_transfer_additional";s:0:"";s:20:"jigoshop_cod_enabled";s:2:"no";s:18:"jigoshop_cod_title";s:42:"Готівкою при отриманні";s:24:"jigoshop_cod_description";s:147:"Будь ласка, заплатіть у магазині (назва, адреса, місто, штат/країна, поштовий код).";s:23:"jigoshop_skrill_enabled";s:2:"no";s:21:"jigoshop_skrill_title";s:6:"Skrill";s:21:"jigoshop_skrill_email";s:0:"";s:27:"jigoshop_skrill_secret_word";s:0:"";s:27:"jigoshop_skrill_customer_id";s:0:"";s:20:"jigoshop_skrill_icon";s:0:"";s:42:"jigoshop_skrill_payment_methods_multicheck";a:4:{s:3:"ACC";b:0;s:3:"VSA";b:0;s:3:"MSC";b:0;s:3:"VSE";b:0;}}

Я думав, що це json, та json_decode вертає пусту строку.

Може хто знає, як цю біду розшифрувати і, після редагування, зашифрувати? - думаю вийшов би непоганий хак, а можливо навіть плагін )

Наперід дякую.

Avatar

Від mr.psiho 28-05-2013 16:08:45

Сусід · 160 повідомлень

Плагін для такої речі коштує 49$, що не може не тішити...

Напевно ви мали на увазі "може не тішити" або "не може тішити" ? :rolleyes:

Ця біда не що інше як серіалізований масив, тобто масив перетворений у строку.

Хоча, якщо говорити про зміну форми замовлення, то це зовсім не так робиться як ви запланували. У плагіні є фільтри, через них треба змінювати відображення полів у формі чекаута.
Ось як я робив подібне для jigoshop:

add_filter( 'jigoshop_billing_fields', 'custom_jigoshop_billing_fields' );

function custom_jigoshop_billing_fields($fields) {
$new_fields = array(
			array( 'name'=>'billing-first_name', 'label'=> __('First Name', 'jigoshop'), 'placeholder'=> __('First Name', 'jigoshop'), 'required'      => true, 'class'                                   => array('form-row-first') ),
			array( 'name'=>'billing-last_name', 'label' => __('Last Name', 'jigoshop'), 'placeholder' => __('Last Name', 'jigoshop'), 'required'       => true, 'class'                                   => array('form-row-last') ),
			array( 'name'=>'billing-address', 'label'   => __('Address', 'jigoshop'), 'placeholder'   => __('Address 1', 'jigoshop'), 'required'       => false, 'class'                                   => array('form-row-first') ),
			array( 'name'=>'billing-city', 'label'      => __('City', 'jigoshop'), 'placeholder'      => __('City', 'jigoshop'), 'required'            => false, 'class'                                   => array('form-row-first') ),
			array( 'name'=>'billing-email', 'validate'  => 'email', 'label'                           => __('Email Address', 'jigoshop'), 'placeholder'=> __('you@yourdomain.com', 'jigoshop'), 'required'=> true, 'class'                            => array('form-row-first') ),
			array( 'name'=>'billing-phone', 'validate'  => 'phone', 'label'                           => __('Phone', 'jigoshop'), 'placeholder'        => __('Phone number', 'jigoshop'), 'required'      => true, 'class'                            => array('form-row-last') )
		);
    return $new_fields;
}

Як видно, тут я просто залишив потрібні мені і повернув у фільтр цей масив. Що у масив не потрапило - те на сайті виводитись не буде.

Для вукомерца теж має бути подібне.


Сайти на WordPress будь якого рівня складності. Сайти на LiveStreet будь якого рівня складності. А ще ми любимо корів)) Звертайтесь. ;)

Avatar

Від mr.psiho 28-05-2013 16:12:24

Сусід · 160 повідомлень

Ой, тільки щойно дочитався, що ви таки використовуватимете джигошоп.  😄  Ну то це саме те що вам треба.


Сайти на WordPress будь якого рівня складності. Сайти на LiveStreet будь якого рівня складності. А ще ми любимо корів)) Звертайтесь. ;)

Avatar

Від webxid 28-05-2013 16:53:27

Новенький · 2 повідомлень
mr.psiho wrote

Ой, тільки щойно дочитався, що ви таки використовуватимете джигошоп.    Ну то це саме те що вам треба.

так, це з вашої подачі  🙂 , шукав український переклад вукомерцу і натрапив на цю тему <!-- l --><a class="postlink-local" href="http://e-support.in.ua/viewtopic.php?t=789&p=3042#p3042">viewtopic.php?t=789&p=3042#p3042</a><!-- l --> - попробував і дійшов висновку, що розібратися з редагуванням полів замовлення буде простуше, ніж перекладати вукомерц  😄 - у всьому іншому вони обидва мене влаштовують.

Напевно ви мали на увазі "може не тішити" або "не може тішити" ?

Це просто був сарказм  😉

Дякую вам за пораду - спробую, відпишуся.