2010-01-26 35 views
11

Tôi đang trong quá trình thử nghiệm một trang Magento 1.3 sử dụng Magento 1.4. Tôi thấy hành vi rất kỳ lạ và không nhất quán. Thay vì bao gồm URL của file javascript của tôi, Magento đang tạo ra thẻ với đường dẫn hệ thống tập tin đầy đủ của các tập tin js, như vậy:Tại sao Magento 1.4 bao gồm tệp javascript theo đường dẫn hệ thống tệp?

<script type="text/javascript" src="/home/my_username/public_html/js/prototype/prototype.js"></script> 

Tôi tin rằng điều này có liên quan đến phần "Chủ đề mới JavaScript và file CSS kết hợp để một tập tin "chức năng. Trong thực tế, khi tôi đăng nhập vào admin và bấm vào nút "Flush JavaScript/CSS Cache", sau đó tải trang đầu tiên thành công, và tôi thấy một JS đơn bao gồm tương tự như:

<script type="text/javascript" src="/media/js/5b8cfac152fcb2a5f93ef9571d338c54.js"></script> 

Nhưng tải tuổi tiếp theo tải mỗi tệp JS duy nhất, với tên đường dẫn đầy đủ. Mà rõ ràng là không phải là đi làm việc. Bất cứ ai có bất kỳ ý tưởng về những gì có thể là sai hoặc làm thế nào để khắc phục vấn đề này?

+0

@Mattias Bomelin - tôi không tìm thấy câu trả lời cho điều này được nêu ra. Khi tôi làm, tôi sẽ đăng nó như một câu trả lời ở đây và chấp nhận nó. Đánh dấu câu hỏi này là câu hỏi yêu thích bằng cách nhấp vào dấu sao dưới mũi tên xuống nếu bạn muốn theo dõi nó. – Josh

Trả lời

9

chuyển đến Hệ thống -> Cấu hình -> Cài đặt dành cho nhà phát triển -> Cài đặt Javascript -> Hợp nhất tệp JavaScript (beta) và đặt thành "không". Đây thực sự là bản beta: D

+1

vấn đề này xảy ra với tôi cũng trên 1,7.0.1 ... vô hiệu hóa 'dev/js/merge_files' là chỉ giải pháp cho tôi – WonderLand

+1

Nếu cài đặt Hợp nhất Javascript và Hợp nhất CSS thành "Không", hãy khắc phục sự cố của bạn, vấn đề cơ bản có thể là thư mục var/không thể ghi được. Thử kiểm tra quyền và quyền sở hữu. – Eric

+0

Cảm ơn :) Đã làm việc cho tôi !!! Vấn đề của tôi là tôi không thể xem ảnh trong Trình chỉnh sửa "Bộ nhớ phương tiện" thậm chí tạo nút thư mục không hoạt động và duyệt các tệp và nút tải tệp lên không hiển thị. –

0

Giá trị cho các trường URL cơ sở khác nhau trong "Web" trong cấu hình là gì? Phải là thứ gì đó dọc theo dòng

{{unsecure_base_url}}skin/ 

cho URL da cơ sở.

+0

Vâng, đó là những gì nó được. Tôi thậm chí đã thử thay thế {{unsecure_base_url}} bằng http://my.domain.name/ thành không có sẵn ... – Josh

0

Sự cố có liên quan với tùy chọn hợp nhất javascript. Không may hình thức không hoạt động mà không có javascript. Bạn phải thay đổi tùy chọn merge_files trong ứng dụng/mã/core/Mage/Core/etc/config.xml thành 0.

 <js> 
      <merge_files>0</merge_files> 
      <deprecation>0</deprecation> 
     </js> 

Sau đó tôi đã xóa tất cả tệp bộ nhớ cache và tệp phiên trong thư mục var.

8

Chỉnh sửa tệp config.xml đã không thực hiện thủ thuật cho tôi, tôi phải tắt nó trong cơ sở dữ liệu.

Trong bảng 'core_config_data' thiết lập giá trị của hàng với path 'dev/js/merge_files' (config_id 772) để ''.

Cảm ơn bạn đã chỉ cho tôi đúng hướng!

8

tôi đã cùng một vấn đề và đưa ra các giải pháp sau đây:

  1. Xác minh rằng các điều khoản trên phương tiện truyền thông/js thuộc về cùng một người dùng thư mục cài đặt Magento là.
  2. Làm sạch bộ nhớ cache CSS/JS bằng quản trị viên.

Sự kết hợp của hai điều thực sự trở lại bình thường.

+0

Đây là một vấn đề quyền đơn giản, mặc dù với một biểu hiện lạ. Đảm bảo rằng thư mục 'media' của bạn có thể ghi bởi người dùng/nhóm máy chủ web (tuy nhiên bạn muốn làm điều đó) và mọi thứ sẽ hoạt động tốt. – Nick

+0

Trong một số trường hợp (như trong mỏ), bạn có thể thậm chí không thể vào được quản trị viên. Tôi đã làm theo lời khuyên trên trang web của Nick (http://www.nicksays.co.uk/2010/03/magento-including-javascript-by-system-path/). Tôi đã phải chạy một truy vấn để thay đổi thiết lập tạm thời, sau đó đăng nhập và trống bộ nhớ cache, và sau đó tôi đã thay đổi thiết lập trở lại (một lần nữa bằng cách sử dụng một truy vấn, kể từ khi mysql đã được mở anyway). Truy vấn: UPDATE core_config_data SET 'value' = 0 WHERE' path' = 'dev/js/merge_files'; Tôi cũng tự hỏi nếu xóa var/cache/* sẽ làm việc. –

1

Chỉnh sửa config.xml đã không thực hiện thủ thuật cho tôi, tôi phải vô hiệu hóa nó trong cơ sở dữ liệu.

Trong bảng core_config_data đặt giá trị của hàng có đường dẫn dev/js/merge_files (config_id 772) to '0'.

Cảm ơn bạn đã chỉ cho tôi đúng hướng!

Giải pháp này phù hợp với tôi, cảm ơn.

1

Tôi đã gặp sự cố tương tự.

Bởi vì Magento không thể tìm thấy tệp javascript. Nhìn vào /var/log/exception.log của bạn (Bạn phải kích hoạt các bản ghi trong System -> Config -> Options Developer)

Trong đăng nhập của tôi đã được lỗi sau:

ngoại lệ 'ngoại lệ' với thông điệp 'Cảnh báo: filemtime() [function.filemtime]: stat không thành công cho /var/www/js/calendar/lang/calendar-en.js trong/var/www/app/code/core/Mage/Core/Helper/Dữ liệu .php trên dòng 631 'trong /var/www/app/code/core/Mage/Core/functions.php:245

Vì vậy, tôi đã tạo tệp và nó hoạt động!

0

trong magento 1.4 config_id là 879 (đối với tôi) Đặt giá trị này thành 0 cho tôi tất cả các tệp .js của tôi. Siêu lạ

4

Kiểm tra xem thư mục phương tiện của bạn có thể ghi bởi người dùng mà máy chủ web của bạn chạy hay không. Tôi có một liên kết tượng trưng đến một thư mục chỉ có thể ghi bởi root

chown -R www-data:www-data media 

đã giúp.

+0

Điều này làm việc cho tôi trên 1.8 –

11

Đó là vấn đề về quyền trong trường hợp của tôi. Những lệnh ssh chạy trong thư mục gốc của Magento cố định nó:

# chown all to proper user and group, ie. www-data 
    chown -R www-data:www-data * 
    # change all files permissions to 644 
    find . -type f -exec chmod 644 {} \; 
    # change all directories permissions to 755 
    find . -type d -exec chmod 755 {} \; 
    # change all to be writable in var and media directories 
    chmod -R 777 var/ media/ 

Nếu nó vẫn không hoạt động sau đó thay đổi hai giá trị cho cột đường dẫn trong core_config_data trong MySQL từ "1" thành "0":

  • dev/css/merge_css_files
  • dev/js/merge_files
+0

Làm cho rõ ràng máy chủ của bạn cũng như bộ nhớ cache Magneto .. Sau đó làm những gì @marcinsdance nói ...Mọi thứ sẽ hoạt động! Cảm ơn rất nhiều. –

+0

Đây là bản sửa lỗi cho tôi. Cảm ơn bạn! – Anderscc

+0

Cách khắc phục sự cố quyền tốt đẹp ... Làm việc cho tôi .... –

Các vấn đề liên quan