Magento, помогите с SQL Query, чтобы получить полные URL продукта - PullRequest
1 голос
/ 11 мая 2011

Итак, в основном я ищу взаимодействие с базой данных за пределами Magento. При просмотре таблиц в базе данных catalog_product_flat_1, похоже, хранит большую часть информации, которую я ищу, чтобы получить, так что это дает мне практически все, кроме последнего шага.

Я пытаюсь понять отношения внутри БД Magento и получить все полные URL-адреса продуктов в моей только что созданной таблице.

Целью этого является инициатива SEO / PPC, где наличие хорошего списка каждого артикула, названия, бренда, описания и URL-адреса непосредственно к продукту сделает работу легкой.

У меня все отлично работает, кроме полного URL продукта.

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

Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 11 мая 2011

Выполнение необработанных команд SQL для базы данных Magento отнимает много времени, не требует обновления и, в некоторых случаях, опасно.Используйте модели, предоставленные вам в базе кода Magento, для выполнения ваших запросов.

Вы можете получить свои sku, имя, марку, описание и URL-адрес, используя:

<?php
require_once 'app/Mage.php';

Varien_Profiler::enable();
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);

umask(0);
Mage::app();

$fhandle = fopen("dump.csv", "w");
$products = Mage::getModel('catalog/product')->getCollection()
                                             ->addAttributeToSelect('*');

foreach ($products as $product) {
    $data = array(
        $product->getSku(),
        $product->getName(),
        $product->getBrand(), // Or whatever your attribute name is..
        $product->getDescription(),
        $product->getUrlPath()  
    );

    fputcsv($fhandle, $data);
}

fclose($fhandle);

Iне следуйте вашему использованию «SQL-инъекций».Это атаки , а не способы программирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...