2013-02-19 22 views
5

Gần đây tôi đã cài đặt Tridion 2011 SP1 với trình quản lý dịch mô-đun SDL được bật.Tridion 2011 SP1: Tridion GUI Lỗi Javascript với Trình quản lý dịch và Powertools 2011 được cài đặt

Mọi thứ đều hoạt động tốt. Sau đó, tôi đã cài đặt Tridion 2011 Powertools, theo quy trình cài đặt.

Khi cố gắng để tải lại giao diện đồ họa (cache của trình duyệt làm trống và tham số sửa đổi instanciated cho các phần tử máy chủ trong webroot \ Configuration \ System.Config) Tôi nhận được lỗi javascript sau:

SCRIPT5007: Unable to get value of the property 'getItemType': object is null or undefined
Dashboard_v6.1.0.55920.18_.aspx?mode=js, line 528 character 851

Và đây là dòng JS có liên quan:

Tridion.TranslationManager.Commands.Save.prototype._isAvailable=function(c,a){var
e=c.getItem(0),f=$models.getItem(e),b=f.getItemType(),d=$models.getItem(this.getTmUri())

Dòng Javascript trước đó đang xử lý các lệnh TranslationManager khác, vì vậy tôi cho rằng đó là một loại đăng ký lệnh TranslationManager hoặc somehting.

Đang cố gắng để duyệt ấn Tridion của tôi bằng cách chọn bất kỳ thư mục/strucutreGroup cũng sẽ cung cấp cho các lỗi tương tự và khung bên phải (khung nội dung) sẽ không hiển thị bất kỳ mục Tridion mà chỉ đơn giản hiển thị:

Loading ...

Có ai đã vấn đề tương tự có kinh nghiệm?

Để bây giờ tôi không có lựa chọn nào khác hơn cho ý kiến ​​ra các phần PowerTools nộp

Tridion_Home\web\WebUI\WebRoot\Configuration\System.Config

Cảm ơn bạn, François

+0

PowerTools có thực sự phù hợp với bạn không? Điều gì sẽ xảy ra nếu bạn bình luận ra Trình quản lý dịch thay thế và thử các Công cụ quyền lực? –

+0

Có, PowerTools đang hoạt động tốt (Số mục, Nhà xuất bản trang). Thay vào đó, nếu tôi nhận xét Trình quản lý dịch, mọi thứ sẽ hoạt động tốt, bao gồm PowerTools và không còn lỗi Javascript nữa. Tôi đã mở một vé @ Hỗ trợ Tridion, nhưng vì chúng không hỗ trợ PowerTools, chúng đề xuất tôi đăng lên Stackoverflow. Bây giờ có vẻ như tôi vấn đề thực sự liên quan đến Trình quản lý dịch. –

Trả lời

1

Lạ một điều ở đây là nó đề cập đến Lưu lệnh mà không có ý định trở thành được gọi hoặc được sử dụng từ Trang tổng quan.

Tôi muốn đề xuất tắt tính năng JS minification (bộ lọc JScriptMinifier trong System.config), vì nó có thể hiển thị chi tiết chính xác hơn.

Một điều hữu ích khác sẽ là ngăn xếp cuộc gọi lỗi này.

-

Tôi đã không thể tái tạo là một vấn đề từ câu hỏi ban đầu, nhưng đã lỗi sau khi tôi cài đặt PT:

PowerTools is not defined

xuất hiện trong * \ PowerTools \ Biên tập \ PowerTools \ Client \ Shared \ Scripts \ ProgressDialog \ ProgressDialog.js nơi nó cố gắng đăng ký PowerToolsBase không gian tên, thay vì PowerTools.

I `ll ngạc nhiên nếu thêm

Type.registerNamespace("PowerTools");

ở phía trên cùng của tập tin sẽ sửa chữa một vấn đề, như trong trường hợp của tôi nó đã phá vỡ toàn bộ giao diện không có vấn đề nếu TM bao gồm hoặc không.

0

Tôi đã kiểm tra * \ PowerTools \ Editor \ PowerTools \ Client \ Shared \ Scripts \ ProgressDialog \ ProgressDialog.js, nhưng dòng

Type.registerNamespace("PowerTools");

đã có sẵn, vì vậy không phải vấn đề ở đây.

Ngoài ra, tôi đã tắt tính năng rút gọn JS. Dưới đây là các phương pháp chính mà giao diện người dùng đang tải trước khi gặp lỗi:

... 
PowerTools.Commands.ItemCommenting.prototype.isValidSelection = function (selection) { 
//Use the existing Save command from the CME 
return $cme.getCommand("Save")._isEnabled(selection); 
} 

... 

/** 
* Executes this command on the selection. 
* Override this method to implement the actual functionality. 
* @param {Tridion.Core.Selection} selection The current selection. 
*/ 
Tridion.TranslationManager.Commands.SendForTranslation.prototype._execute = function SendForTranslation$_execute(selection) 
{ 
    var selectedItems = selection.getItems(); 
    if (selectedItems.length == 1) 
    { 
     var job = $models.getItem(selectedItems[0]); 

     if (job) 
     { 
      if (job.isLoaded()) 
      { 
       job.saveAndSend(); 
      } 
      else 
      { 
       $log.warn("Unable to send an unloaded job?! {0}".format(job.getId())); 
      } 
     } 
     else 
     { 
      $log.warn("Unable to execute save-and-send-for-translation for this selection: {0}".format(selectedItems)); 
     } 
    } 
    else 
    { 
     $log.warn("Unable to save-and-send-for-translation multiple items at a time."); 
    } 
}; 

... 

Tridion.TranslationManager.Commands.Save.prototype._isAvailable = function Save$_isAvailable(selection, pipeline) 
{ 
    var itemUri = selection.getItem(0); 
    var item = $models.getItem(itemUri); 
    var itemType = item.getItemType();  !!!!!!!!! fails on this line !!!!!! item is null or not an object 
    var config = $models.getItem(this.getTmUri()); 


    if (pipeline) 
    { 
     pipeline.stop = false; 
    } 

    if (config && config.hasChanged() && (itemType == $const.ItemType.CATEGORY || itemType == $const.ItemType.FOLDER || itemType == $const.ItemType.STRUCTURE_GROUP || itemType == $const.ItemType.PUBLICATION)) 
    { 
     if (pipeline) 
     { 
      pipeline.stop = true; 
     } 

     return true; 
    } 

    return this.callBase("Tridion.Cme.Command", "_isAvailable", [selection, pipeline]); 
}; 
0

Ok. Nó rõ ràng bây giờ.

PowerTools.Commands.ItemComment được sử dụng trong Thanh công cụ của Trang tổng quan. Lệnh này sử dụng Lưu để kiểm tra tính khả dụng của nó.

Đồng thời TM cho rằng "Lưu" sẽ chỉ được sử dụng trên một ItemToolbar.

Sự khác biệt giữa các thanh công cụ gây ra sự cố là chế độ xem Trang tổng quan có thể có lựa chọn độ dài bất kỳ, khi Chế độ xem mục sẽ luôn có lựa chọn có một mục (hiện đang mở).

Mở lựa chọn bảng điều khiển trống chưa được thực hiện, Mục đang cố gắng kiểm tra tính khả dụng của nó bằng cách gọi Save, gọi tất cả các tiện ích mở rộng của nó. Và cho đến nay như lựa chọn là trống

var itemUri = selection.getItem(0);

sẽ trở lại rỗng, cũng như

$models.getItem(null)

gì bạn có thể làm, là để loại bỏ lệnh mở rộng ItemCommenting vì nó được thực hiện trong tridion biên tập powertool thân .config.

http://code.google.com/p/tridion-2011-power-tools/source/browse/trunk/PowerTools.Editor/Configuration/editor.config?spec=svn942&r=903 [592]

+0

Cảm ơn bạn rất nhiều UI Beardcore! Nó đã làm các trick. Hiện tại, không còn lỗi JS và Powertools nào hoạt động tốt, ngoại trừ việc CountItems luôn trả lại kết quả tương tự cho bất kỳ thư mục nào tôi chọn ... nhưng đó phải là một vấn đề khác không liên quan. –