- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang cố gắng lấy tên danh mục trong đường dẫn danh mục dựa trên id sản phẩm trong magento.
Giả sử ID sản phẩm của tôi = 1 và tôi có danh mục5 (id = 5) được xác định trong đó và tôi nhận được đường dẫn danh mục như 2/3/5. Tôi cần đường dẫn danh mục như Category2/category3/category5 chứ không phải loại đường dẫn danh mục này. Điều này có nghĩa là tôi cần tên danh mục trong đường dẫn thay vì ID danh mục. Tôi đã nhận được điều này bằng cách sử dụng đoạn mã sau nhưng phải mất rất nhiều thời gian. Tôi cần giảm thời gian xử lý.
Xin vui lòng cho tôi đề xuất về cách giảm thời gian xử lý.
$category_model = Pháp sư::getModel('catalog/category');
$product_model = Mage::getModel('catalog/product');
$all_cats = mảng();
$product_model->reset();
$_product = $product_model->load($entityId);
$all_cats = $product_model->getCategoryIds($_product);
$main_cnt = đếm($all_cats);
$cat_str_main = '';
$j = 0;
foreach($all_cats as $ac)
{
$root_category = $category_model->load($ac);
$cat_path = $root_category->getPath();
$cat_arr = nổ("/",$cat_path);
$cnt = đếm($cat_arr);
$cat_str = '';
$main_str = '';
$i=0;
foreach($cat_arr dưới dạng $ids)
{
$root_category = $category_model->load($ids); //tải danh mục gốc
nếu($i == 2)
{
$cat_str = $category_model->getName();
}
ngược lại nếu($i > 2)
{
$cat_str = $cat_str."/".$category_model->getName();
}
$i = $i+1;
}
nếu($j < 1)
{
$cat_str_main = $cat_str;
}
khác
{
$cat_str_main = $cat_str_main .",".$cat_str;
}
$j = $j+1;
}
Cảm ơn.....
câu trả lời hay nhất
Bạn nên sử dụng tập hợp các danh mục thay vì tải từng danh mục để giảm truy vấn cơ sở dữ liệu.
EDIT: Tôi đã viết một ví dụ về mã cho bạn. Tôi giả sử bạn có ID danh mục của danh mục và bạn muốn tên đường dẫn của nó là $categoryId:
$category = Mage::getModel('catalog/category')->load($categoryId);
$collection = $category->getResourceCollection();
$pathIds = $category->getPathIds();
$collection->addAttributionToSelect('name');
$collection->addAttributionToFilter('entity_id', array('in' => $pathIds));
$kết quả = '';
foreach ($bộ sưu tập dưới dạng $cat) {
$result .= $cat->getName().'/';
}
Về php - Magento: Tên danh mục thay vì id danh mục trong đường dẫn danh mục., chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/14118213/
Đây là nhiệm vụ của tôi echo PATH $PATH \$PATH làm gì? Tôi không biết nó hoạt động như thế nào. echo PATH in "path" $PATH tạo biến "PATH"... có lẽ vậy?
Tôi đang cố gắng tìm ra sự khác biệt giữa path = path + [node1] path + = [node1] path.append(node1) Tôi đang nhận được đường dẫn chính xác cho path = path + [node1] nhưng không phải hai đường dẫn còn lại. chắc chắn
Tôi đã tạo một trường hợp thử nghiệm trong Ride bằng cách sử dụng khung Robot. Đã xảy ra lỗi khi chạy. Tôi đã cập nhật đường dẫn tới python. Tôi đã cập nhật thư viện và Ride. Tôi đã thay đổi thư mục nhưng vẫn không được*** Cài đặt *** Tài liệu
Tôi đã thử tùy chỉnh pathlib.Path() với chức năng bổ sung. Đặc biệt, tôi thực sự thích sử dụng trình quản lý bối cảnh như một cách để di chuyển vào và ra khỏi các thư mục. Tôi đang sử dụng nó nhưng có vẻ như tôi đang gặp khó khăn khi đưa Path() hoạt động với trình quản lý ngữ cảnh tùy chỉnh
EDIT: Dựa trên nhận xét của Ulf Rompe, điều quan trọng là sử dụng "1" thay vì "0", nếu không bạn sẽ làm hỏng sys.path. Tôi đã làm python trong một thời gian dài (hơn một năm) và tôi luôn bối rối tại sao. Mọi người đề nghị bạn sử dụng sys.
Lý do tôi quan tâm đến việc này là vì tôi có một phần đường dẫn sẽ được giữ nguyên nhưng tôi muốn xóa nó cùng với tất cả các phần gốc của nó. Vì vậy, nếu chúng ta nói, some/unknown/path/foo/bar/baz tôi muốn quay lại bar/baz nhưng
Trong một số câu hỏi SO, có những dòng truy cập vào thư mục mẹ của mã, chẳng hạn như os.path.join(os.path.dirname(__file__)) không trả về gì và os.path.join(o
Tôi đã cài đặt anaconda trong Linux của mình để nhập các gói python. Sau khi cài đặt anaconda, tôi không thể sử dụng anaconda trong python, sau khi tìm kiếm tôi thấy rằng bằng cách gõ lệnh này, tôi có thể sử dụng
Cái nào hoạt động tốt hơn và tại sao? Ý tôi là hai lệnh này khác nhau ở điểm nào và như thế nào? Hiệu suất, khả năng đọc... new FileInfo(path).Name hoặc Path.GetFileName(path) Câu trả lời hay nhất vì bạn
Điều này không hoạt động trên một số thiết bị. Trong các thiết bị Samsung, họ không cho phép tải xuống tệp bằng trình quản lý tải xuống. Tôi đã xác định các quyền trong danh sách và nhận được quyền khi chạy. DownloadManager downloadManager = (Thực hiện
Tôi muốn biết sự khác biệt giữa việc sử dụng Paths.get() và Path.resolve trong ví dụ này: public static void main(String[] args) { Path p1
Hiện tại tôi đang làm việc trên một ứng dụng chuyển đổi đường dẫn svg do Inkscape tạo. Bây giờ tôi chưa rõ về đặc tả đường dẫn liên quan đến sự kết hợp giữa đường dẫn tuyệt đối và đường dẫn tương đối. Thông số kỹ thuật có tính đến các định nghĩa đường dẫn chứa cả tọa độ tương đối và tuyệt đối không? Đặc biệt là về Bezier tuyệt đối
Tôi đang viết một tập lệnh trong đó tôi cần tìm lệnh trên $PATH của người dùng và nhận đường dẫn đầy đủ đến lệnh. Vấn đề là tôi không biết shell đăng nhập của người dùng là gì hoặc họ có thể có nội dung kỳ lạ nào trong tệp do của họ. Tôi sẽ bourne vỏ
Tài liệu của Metalsmith không giải thích nhiều về hàm path(): #path(paths...): Giải quyết bất kỳ số lượng đường dẫn... liên quan đến công việc
Tôi biết tôi có thể thay đổi PATH rượu vang của mình thông qua regedit, nhưng thực sự tôi chỉ cần thay đổi PATH cho một lần chạy. Ví dụ: phần mềm của tôi có tên là frontend.exe, tùy thuộc vào example/mylib.dll và tôi cần
Vì vậy, đường dẫn tuyệt đối là cách để đến một tệp hoặc vị trí nhất định, mô tả đường dẫn đầy đủ, đường dẫn đầy đủ của nó và nó phụ thuộc vào hệ điều hành (ví dụ: đường dẫn tuyệt đối cho Windows và Linux là khác nhau). Mặt khác, đường dẫn tương đối cách vị trí hiện tại hai điểm..(
Tôi mới làm quen với lập trình (không hẳn, nhưng tôi vẫn đang học - phải không?). Mặc dù tôi biết Java và Python, đồng thời hiểu C, C++, JS, C#, HTML, CSS, v.v. (và tôi có thể điều hướng tốt trong terminal), nhưng tôi không quen với
Tôi mới làm quen với lập trình (không hẳn, nhưng tôi vẫn đang học - phải không?). Mặc dù tôi biết Java và Python, đồng thời hiểu C, C++, JS, C#, HTML, CSS, v.v. (và tôi có thể điều hướng tốt trong terminal), nhưng tôi không quen với
Câu hỏi này dường như không hữu ích cho bất kỳ khách truy cập nào trong tương lai; nó chỉ liên quan đến một khu vực địa lý nhỏ, một thời điểm cụ thể hoặc một tình huống rất hẹp và thường không áp dụng cho khán giả Internet trên toàn thế giới. Để được trợ giúp làm cho câu hỏi này có thể áp dụng rộng rãi hơn, hãy truy cập
Sự khác biệt giữa việc sử dụng biến môi trường (chẳng hạn như PATH) là $PATH hoặc ${PATH} là gì? Câu trả lời tốt nhất không tạo ra sự khác biệt trong hầu hết các trường hợp. Điều duy nhất quan trọng là liệu bạn có muốn đưa văn bản theo sau vào phần mở rộng hay không. Ví dụ: giả sử PATH của bạn chứa chuỗi FOO
Tôi là một lập trình viên xuất sắc, rất giỏi!