Truyền Biến Javascript Vào Php

     

khoa hoc lap trinh thiet ke trang web tren ngon ngớ ngẩn php & mysql co ban nang cao tai ha noi

khoa hoc php tai ha noi, khoa hoc php nang cao




Bạn đang xem: Truyền biến javascript vào php

Error message

Notice: Undefined offset: 1 in nice_menus_block_view() (line 306 of /home/mamast08nv/public_html/sites/all/modules/nice_menus/nice_menus.module).

Làm cố kỉnh nào nhằm sử dụng các biến PHP trong Javascript ? bình thường ta có thể sử dụng các biến đó khi viết Javascript bên trên thẻ. Mặc dù khi làm việc với WP thì mình biết được một hàm nó có thể sử lý điều này tốt nhất có thể đó là hàm: wp_localize_script (có thể xem thêm ở : http://codex.wordpress.org/Function_Reference/wp_localize_script)

Cú Pháp: 

*

 

 

 

Hàm wp_localize_script cho mình khả năng nhằm viết một đối tượng người dùng JavaScript với rất nhiều biến được định nghĩa. Một điểm lưu ý là hàm này phải được gọi sau khoản thời gian mã javascript của công ty đã được enqueued. Để biết cụ thể về các các tham số các chúng ta có thể vào đây: wp_localize_script

Ví dụ: bài toán ban đầu: Đây là đoạn script vẫn được enqueued dịp đầu

1 wp_enqueue_script( "portfolio-effect-js", CHILD_URL .

Xem thêm: Tải 29+ Hình Ảnh Đầu Tuần Vui Vẻ, Ghim Trên Phương Nguyễn


Xem thêm: Top 10 Quạt Cây Điều Khiển Từ Xa Chất Lượng Bạn Không Nên Bỏ Qua


"js/portfolio-effect.js", array( "jquery" ), "1.5.0"

Trong script portfolio-effect.js có 1 đoạn js cần sử lý:

1 $portfolio_effect.masonry(

2 itemSelector: ".portfolio-item",

3 columnWidth : function ( containerWidth )

4

5 return containerWidth / 4;

6 ,

7 isAnimated : true

8 );Để đến trực quan liêu thì mình lấy luôn trường hợp nhưng mà mình chạm mặt phải trước lúc đụng tới hàm wp_localize_script này. Câu hỏi ban đầu: Đây là đoạn script đã được enqueued dịp đầu1 wp_enqueue_script( "portfolio-effect-js", CHILD_URL . "js/portfolio-effect.js", array( "jquery" ), "1.5.0"

 

Trong script portfolio-effect.js có 1 đoạn js nên sử lý:

1 $portfolio_effect.masonry( itemSelector: ".portfolio-item",

2 columnWidth : function ( containerWidth )

3

4 return containerWidth / 4;

5 ,

6 isAnimated : true

7 );

 

Làm núm nào nhằm khi người tiêu dùng click vào layout với các thành phần 1 cột, 2 cột, 3 cột thì cảm giác Javascript sẽ nhận số cột đó để chia kích thước chiều rộng lớn với số cột tương xứng thay vì chưng fix số lượng cột là 4 như trên ( việc này có nhiều cách xử lý đơn giản dễ dàng hơn dẫu vậy vì tương quan tới vụ việc đưa php vào vào JS nên mình đưa ra cách giải quyết này ) vấn đề xử lý:

1 $fitbus = array(

2"portfolio_columns" => $portfolio_column

3 );

4 wp_localize_script( "portfolio-effect-js", "fitbus", $fitbus );

+ họ cần khai báo 1 mảng, cùng với mảng bao hàm các biến nên xử lý. Ở đây biến đổi $portfolio_column là đổi mới được xử lý để lấy giá trị số cột khi người tiêu dùng lựa chọn trong setting, họ cần đưa vươn lên là đó vào trong Js ở trên

+ trong hàm wp_localize_script thì portfolio-effect-js: tên của Js đã enqueued phần bên trên fitbus: Tên đối tượng người sử dụng Js đang chứa dữ liệu $fitbus: mảng chứa những biến được khai báo ở trên công việc cuối cùng là chúng ta sẽ trở về Js: portfolio-effect.js Thay con số 4 ở trên bởi biến mà họ đã khai báo vào mảng, ví dụ như sau

1 $portfolio_effect.masonry(

2 itemSelector: ".portfolio-item",

3 columnWidth : function ( containerWidth )

4

5 return containerWidth / fitbus.portfolio_columns;

6 ,

7 isAnimated : true

8 );

Như vậy là sau khi người dùng setting số cột thì lập tức trở thành đó sẽ tiến hành truyền vào vào Js với Js này thực hiện tính chiều dài của cột tương ứng với setting.