#189435 gửi bởi Tinphan
Ngày 12 Tháng 08 2018 , 07:19
Quá giỏi và quá nguy hiểm!
Hỏi thêm: nếu mình cài đặt lại module thì nó có cập nhật csdl? Nếu cài đặt thất bại mình khôi phục code cũ còn csdl đã bị cài đặt lại thì có thể code và csdl không tương thích. Vậy phải làm sao?
#189453 gửi bởi quocviet2006
Ngày 13 Tháng 08 2018 , 14:37
Tinphan đã viết Quá giỏi và quá nguy hiểm!
Hỏi thêm: nếu mình cài đặt lại module thì nó có cập nhật csdl? Nếu cài đặt thất bại mình khôi phục code cũ còn csdl đã bị cài đặt lại thì có thể code và csdl không tương thích. Vậy phải làm sao?

trước khi cài lại module bạn vào phpmyadmin chọn tất cả các bảng của shops rồi chọn export. Vào quản lý module cài lại module shops, sau đó trong phpmyadmin bạn chọn 1 lần nữa các bảng trên drop nó đi, rồi import ngược lại file đã export là xong.

Thao tác này chỉ thêm funcs vào module shops của bảng config thôi chứ ko ảnh hưởng các bảng khác. Mình đã làm thử cả 2 cách ở localhost rồi.

Sửa lần cuối bởi quocviet2006 vào Ngày 13 Tháng 08 2018 , 22:42, với tổng số 1 lần sửa.

Việt Tí - Chia sẻ để thành công - http://quocviet.net
#189977 gửi bởi nguyenvantuan
Ngày 20 Tháng 10 2018 , 20:42
Viet Truong đã viết:

Block giỏ hàng nheeiuf vị trí

Hiện tại, block giỏ hàng của module shop Nukeviet 4.3 chỉ có thể load 1 lần và chỉ tại 1 vị trí, nếu bạn cài thêm 1 vị trí khác sẽ bị lỗi header dẫn đến tình trạng vỡ giao diện, có thể treo máy do vòng lặp loadcart.

Có 2 cách giải quyết:

* Cách 1: Nhân đôi block hiện có.

- Copy global.block_cart.php trong thư mục /modules/shops/blocks để tạo ra block giỏ hàng mới đặt tên là global.block_cart2.php.

- Mở file này lên tìm nv_cart_info thay thế bằng nv_cart_info2 , tìm cart_ thay thế bằng cart2_ , tìm loadcart thay thế bằng loadcart2.

- Copy loadcart.php trong thư mục /modules/shops/funcs đổi tên thành loadcart2.php.

- Mở file này lên tìm block.cart.tpl thay thế bằng block.cart2.tpl

- Trong thư mục /themes/default/modules/shops, copy block.cart.tpl đổi tên thành block.cart2.tpl.

Đến đây bạn vẫn chưa thể chạy block được vì mặc định module shops khi cài đặt chỉ hiểu các funcs hiện có trong thư mục funcs. Muốn chạy được function loadcart2 bắt buộc bạn phải cài đặt lại module shops theo thao tác: Quản lý modules - Chọn module shops - Cài lại.

Trước khi cài lại bạn cần backup toàn bộ dữ liệu của module shops hiện có, backup cả thư mục /uploads/shops và /assets/shops. Sau khi tiến hành cài lại xong module shops với chức năng loadcart2, bạn chỉ việc restore dữ liệu đã backup là xong.

* Cách 2: Thêm biến vị trí cho block hiện có.

Bước 1: Mở global.block_cart.php trong thư mục /modules/shops/blocks, tìm:

if (! function_exists('nv_cart_info')) {

thêm ngay bên dưới:

function nv_block_config_cart($module, $data_block, $lang_block)
{
global $nv_Cache, $db_config, $site_mods;

$html .= '

';
$html .= '' . $lang_block['area'] . '';
$html .= '
'; $area = array('area_1', 'area_2'); foreach( $area as $area_i ){ $sl1 = ( $data_block['area'] == $area_i ) ? ' selected' : ''; $html .= '' . $area_i . '';} $html .= '
';
$html .= '
';

return $html;

}

function nv_block_config_cart_submit($module, $lang_block)
{
global $nv_Request;
$return = array();
$return['error'] = array();
$return['config'] = array();
$return['config']['area'] = $nv_Request->get_string('config_area', 'post', '');
return $return;
}

- Tìm tiếp

$module = $block_config['module'];

thêm ngay bên dưới:

$area = $block_config['area'];

- Tìm tiếp

cart_' . $module . '

thay bằng

cart_' . $module . '_' . $area . '

- Tìm tiếp loadcart&coupons_check=1 thay thế bằng loadcart&area=" . $area . "&coupons_check=1.

Bước 2:

tạo file global.block_cart.ini trong thư mục /modules/shops/blocks với nội dung:




Block Cart
VinaDes.,Jsc
http://vinades.vn


nv_block_config_cart
nv_block_config_cart_submit


Vị trí


Bước 3: Mở loadcart.php trong thưc mục /modules/shops/funcs.

- Tìm $coupons_code = $nv_Request->get_title('coupons_code', 'get', ''); thêm vào bên dưới $area = $nv_Request->get_title('area', 'get', '');.

- Tìm block.cart.tpl thay thế bằng block.cart_" . $area . ".tpl.

Bước 4: Trong thư mục /themes/default/modules/shops, copy block.cart.tpl ra thành 2 file: block.cart_area_1.tpl và block.cart_area_2.tpl.

Bạn cũng có thể thêm vào nhiều vị trí hơn bằng cách thêm biến area_x vào những chỗ có area_1, area_2 đã highlight trong phần trên.

Chúc các bạn thành công.

Theo cách 2, bạn có thể tải file làm sẵn tại đây. Lưu ý, backup lại file loadcart.php trước khi sử dụng.

Demo: xem tại đây. Điều chỉnh kích cỡ màn hình từ lớn đến nhỏ để xem được 2 vị trí giỏ hàng.

Cho xin file làm sẵn đi bạn trên trang quocviet.net ko còn nữa