Как получить список категорий от Magento?

Попробуйте это:

$sql = <<<SQL
    SELECT *
    FROM `users`, `passwords`
    WHERE users.User_id = passwords.User_id 
    AND "{$formusername}" = users.User_name
    AND "{$formpassword}" = passwords.User_password
SQL;

Проблема в том, что в переменных отсутствуют кавычки ("), например, {$formusername} вместо "{$formusername}". Надеюсь, что это решит проблему.

10
задан Josua Marcel Chrisano 25 September 2015 в 08:14
поделиться

7 ответов

Из кода, найденного в связанном с SEO классе (Mage_Catalog_Block_Seo_Sitemap_Category)

$helper     = Mage::helper('catalog/category');
$collection = $helper->getStoreCategories('name', true, false);
$array      = $helper->getStoreCategories('name', false, false);

Попытайтесь забыть, что это - база данных, это приводит в действие Ваше хранилище, и вместо этого сконцентрируйтесь на использовании объектов, которые обеспечивает система Magento.

Например, у меня не было нет идеи, как получить список категорий. Однако я держал через кодовую базу Волшебника с

grep -i -r -E 'class.+?category'

Который возвратил список приблизительно 30 классов. Просматривая их путем прокрутки, было относительно легко предположить, какие объекты могли бы иметь методы или должны сделать вызовами метода, которые захватили бы категории.

16
ответ дан 3 December 2019 в 16:11
поделиться

Эй что-то вроде этого могло бы помочь Вам, я адаптировал его немного для ответа на вопрос более конкретно.

 $h3h3=Mage::getModel('catalog/category')->load(5);  // YOU NEED TO CHANGE 5 TO THE ID OF YOUR CATEGORY


$h3h3=$h3h3->getProductCollection();


foreach($h3h3->getAllIds() as $lol)
{
    $_product=Mage::getModel('catalog/product')->load($lol);

    print $_product->getName()."<br/>";

}
5
ответ дан 3 December 2019 в 16:11
поделиться

Большое спасибо. Действительно помогает. Чтобы получить игру, сделайте цикл и затем getName ()

foreach ($collection as $cat):

    echo $cat->getName();

endforeach;
0
ответ дан 3 December 2019 в 16:11
поделиться

Я адаптировал это с веб-сайта Пола Уиппа :

SELECT e.entity_id AS 'entity_id', vn.value AS 'name'   
FROM catalog_category_entity e  
LEFT JOIN catalog_category_entity_varchar vn  
ON e.entity_id = vn.entity_id AND vn.attribute_id = 33 
ORDER BY entity_id;

Это предоставит вам идентификаторы категорий каталога.

3
ответ дан 3 December 2019 в 16:11
поделиться

Я использовал это в / app / design / frontend / default / default / template / catalog / product / feature.xml

<?php
/**
 * Home page Featured Product list template
 *
 * @see Mage_Catalog_Block_Product_List
 */
?>
<?php 
if (!is_null($this->_productCollection)) {
    $_origCollection = $this->_productCollection;
    $this->setCollection(null);
}
$this->setCategoryId(16);
$_productCollection=$this->getLoadedProductCollection() ?>
<?php if($_productCollection->count()): ?>
<div class="featured-products">
    <h2><?php echo $this->__('Featured Products') ?></h2>
    <?php foreach ($_productCollection as $_product): ?>
        <div>
            <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>">
                <img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(150, 50); ?>" alt="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" />
                <h3 class="product-name"><?php echo $this->htmlEscape($_product->getName())?></h3>
                <?php echo nl2br($this->htmlEscape($_product->getShortDescription())) ?>
            </a>
        </div>
    <?php endforeach; ?>
</div>
<?php endif; ?>
0
ответ дан 3 December 2019 в 16:11
поделиться

Я снял это небольшое видео о том, как с помощью Magento создавать собственные блоки списка категорий. Я уверен, что есть способы добиться этого лучше или даже что-то, что я мог бы сделать лучше, но это всего лишь мой метод. Я создал его только в надежде, что он поможет кое-что объяснить некоторым людям.

Magento Custom Category Listing Tutorial

0
ответ дан 3 December 2019 в 16:11
поделиться

категория Блок листинга:

<?php
$categories = Mage::getModel('catalog/category')->load(2)->getChildren();
$catIds = explode(',',$cats);
?>
<ul>
<?php foreach($catIds as $catId): ?>
    <li>
        <?php
            $category = Mage::getModel('catalog/category')->load($catId);
            echo $category->getName();

            $subCats = Mage::getModel('catalog/category')->load($category->getId())->getChildren();
            $subCatIds = explode(',',$subCats);
        ?>
            <?php if(count($subCatIds) > 1):?>
                <ul>
                <?php foreach($subCatIds as $subCat) :?>
                    <li>
                    <?php
                        $subCategory = Mage::getModel('catalog/category')->load($subCat);
                        echo $subCategory->getName();
                    ?>
                    </li>
                <?php endforeach;?>
                </ul>
            <?php endif; ?>
    </li>
<?php endforeach; ?>
</ul>
0
ответ дан 3 December 2019 в 16:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: