Nhận vị trí sản phẩm từ danh mục


7

Tôi đang triển khai nút Prev / Next trên trang xem Sản phẩm sau Blog của Inchoo . Nó hoạt động tốt với Theme Magento mặc định nhưng trong chủ đề của tôi có vấn đề với việc nhận vị trí sản phẩm từ Danh mục.

Trong chế độ xem của sản phẩm. Tôi đã thêm mã

<?php $_prev = $this->helper('retailon_productprevnext')->getPreviousProduct(); ?>
<?php $_next = $this->helper('retailon_productprevnext')->getNextProduct(); ?>
<?php if($_prev): ?><a class="product-prev" href="<?php echo $_prev;?>"><?php echo $this->__('< Previous')?></a><?php endif; ?>
<?php if($_next): ?><a class="product-next" href="<?php echo $_next;?>"><?php echo $this->__('Next >')?></a><?php endif; ?>

Mã cho sản phẩm trước trong Trình trợ giúp của tôi là như thế này:

     public function getPreviousProduct()
        {
            $prodId = Mage::registry('current_product')->getId();

            $catArray = Mage::registry('current_category');

            if($catArray){
var_dump($catArray); 
                $catArray = $catArray->getProductsPosition();

var_dump($catArray); 
/// Remaining code to return previous product

Kết xuất đầu tiên là trả về thông tin mảng danh mục, trong khi kết xuất thứ hai không bỏ bất kỳ giá trị nào.

Có cách nào khác để sử dụng mà tôi có thể nhận vị trí sản phẩm từ mảng danh mục thay vì sử dụng $catArray = $catArray->getProductsPosition();không?

Câu trả lời:


1

Nếu kết xuất đầu tiên trả về một mảng, tôi sẽ ngạc nhiên nếu kết xuất thứ hai thực sự được thực thi.

$catArray = $catArray->getProductsPosition();

... phải cung cấp cho bạn một lỗi nghiêm trọng, bởi vì bạn đang gọi một hàm trên một đối tượng không. Tôi đoán: dữ liệu vị trí sản phẩm không được tải trong sổ đăng ký danh mục hiện tại. Vì vậy, những gì tôi sẽ thử là:

$category = Mage::getModel('catalog/category')->load($catArray['entity_id']);
$positions = $category->getProductsPosition();
Zend_Debug::dump($positions);

Tôi nghĩ rằng anh ta có thể đang hiểu sai var_dump của ĐỐI TƯỢNG dưới dạng một mảng, do cách var_dump xuất ra kết quả.
ProxiBlue
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.