2012-11-03 27 views
6

Theo EE 1, tôi đã có thể hack nguồn để cho phép tôi giữ lại các tiêu đề url với trường hợp chính xác của tiêu đề. Đó là, tôi đã có thể giữ nó khỏi buộc tất cả các tiêu đề url là trường hợp thấp hơn.Bảo quản trường hợp tiêu đề trong ExpressionEngine?

Tôi cần sao chép cùng một hành vi đối với EE 2, nhưng hiện tại tôi chưa hoàn toàn quản lý.

Những gì tôi đã làm cho đến nay là thế này:

In <system>/expressionengine/modules/channel/mod.channel_standalone.php: 

commented out this line: NewText = NewText.toLowerCase(); 

added “A-Z” to this line: NewText = NewText.replace(/[^a-z0-9-_]/g,’‘); 

In <system>/expressionengine/helpers/EE_url_helper.php: 

removed strtolower() from this section: 

    if ($lowercase === TRUE) 
    { 
    $str = strtolower($str); 
    } 

added “A-Z” to this line: [^a-z0-9\-\._] 

Tôi không biết chắc chắn nếu tất cả những thay đổi này đã được thực sự cần thiết, nhưng tôi nghĩ như vậy. Theo giao diện của nó, các thay đổi đối với mod.channel_standalone.php sẽ xử lý mọi nội dung gửi thông qua biểu mẫu nhập độc lập và các thay đổi đối với EE_url_helper.php sẽ đảm nhiệm các bài đăng thường xuyên.

Nó gần như không, ngoại trừ URL trực tiếp. URL được tạo khi tôi nhập tiêu đề được tạo trong trường hợp thấp hơn. Tuy nhiên, nếu tôi xóa nó trước khi tôi lưu bài đăng, nó sẽ lưu bài đăng với cùng một trường hợp trong tiêu đề url làm tiêu đề. Ít nhất, nó làm như vậy hầu hết thời gian. Đôi khi, nó được lưu với url trường hợp thấp hơn.

Nếu bất kỳ ai cũng có thể cho tôi biết cách lấy tiêu đề URL trực tiếp để hợp tác, tôi sẽ rất biết ơn.

+0

sống tiêu đề url là một điều javascript, với một phong nha soạn thảo văn bản bạn có thể tìm kiếm thông qua toàn bộ thư mục EE hoặc chủ đề. – GDmac

+0

Tôi đã làm chính xác điều đó, nhưng phải có một cái gì đó tôi không bắt. Tôi đã tìm các trường hợp của a-z09, strtolower và NewText.toLowerCase nhưng tôi đã không tìm thấy bất kỳ trường hợp nào nhiều hơn so với giao diện trên trông có liên quan. Tôi đã tìm thấy một cái gì đó trong thư mục codeigniter (một chức năng trợ giúp url khác), nhưng chỉnh sửa mà không có hiệu lực. Nếu nó được thực hiện bởi một javascript, sẽ có bất kỳ loại lớp học tiêu chuẩn nào có thể tìm kiếm? –

+0

Oh doh, chỉ thấy bạn đề nghị tìm kiếm chủ đề là tốt. Cảm ơn bạn, tôi đã bỏ qua điều đó. Sẽ kiểm tra! –

Trả lời

5

Điều này đang diễn ra ở themes/javascript/compressed/jquery/plugins/ee_url_title.js.

Nó có thể là một chút khó khăn để tìm thấy kể từ khi Javascript được nén, nhưng sự biểu hiện bạn sẽ muốn chỉnh sửa là: a = (k + a).toLowerCase().replace(d, c);

+0

Cảm ơn bạn. :) Tôi thấy rằng trong cùng một kịch bản, cũng có một phần đề cập đến a-z09 là ký tự hợp lệ. Tôi có nên thêm A-Z ở đó hay không cần thiết? –

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