Скрипт обновления цен в Presta Shop [обновляет цену, скидку, количество]

Как-то давно нашёл в просторах скрипт для PrestaShop, который обновлял количество и цену у товара. Знакомому нужен же был более полный функционал.
С количеством и ценой проблем не возникает, а вот со скидкой пришлось повозиться. Скидка хранится в таблице ps_specific_price (ps — префикс таблицы, у вас он может быть другим).
Сам код:

<?php

define('PS_ADMIN_DIR', getcwd());
include(PS_ADMIN_DIR . '/../config/config.inc.php');
include(PS_ADMIN_DIR . '/functions.php');
include(PS_ADMIN_DIR . '/header.inc.php');
echo '<div style="text-align:left;">';

// Проверяем загружен ли файл
if (is_uploaded_file($_FILES["filename"]["tmp_name"]))
{
    // Если файл загружен успешно, перемещаем его из временной директории в конечную
    move_uploaded_file($_FILES["filename"]["tmp_name"], "" . $_SERVER["DOCUMENT_ROOT"] . "/upload/" . $_FILES["filename"]["name"]);
    $file_path = "" . $_SERVER["DOCUMENT_ROOT"] . "/upload/" . $_FILES["filename"]["name"] . "";

// Меняем кодировку файла с windows-1251 на utf-8
    $file = file_get_contents("" . $file_path . "");
    $file = iconv("windows-1251", "utf-8", $file);
    file_put_contents("" . $file_path . "", $file);

//меняем локаль на хостинге
    if (!setlocale(LC_ALL, 'ru_RU.utf8'))
        setlocale(LC_ALL, 'en_US.utf8'); if (setlocale(LC_ALL, 0) == 'C')
        die('Не поддерживается ни одна из перечисленных локалей (ru_RU.utf8, en_US.utf8)');
    if (($handle_f = fopen($file_path, "r")) !== FALSE)
    {
        //начинаем цикл чтения csv
        while (($data_f = fgetcsv($handle_f, 99999, ";")) !== FALSE)
        {

            //ищем товар по supplier_reference
            $sql = "SELECT id_product FROM ps_product WHERE supplier_reference = '" . $data_f[0] . "'";
            $id_product = Db::getInstance()->getValue($sql, 0);

            //если такой товар есть, обновляем количество и цену
            if ($id_product)
            {
                if ((isset($data_f[1])))
                    $sql = mysql_query("UPDATE `ps_product` SET `quantity` ='" . $data_f[1] . "'  WHERE `id_product`='" . $id_product . "' LIMIT 1");

                if ((isset($data_f[2])))
                    $sql = mysql_query("UPDATE `ps_product` SET`price` = '" . $data_f[2] . "' WHERE `id_product`='" . $id_product . "' LIMIT 1");
                if ((isset($data_f[4])))
                    $sql = mysql_query("UPDATE `ps_product` SET `on_sale` = '" . $data_f[4] . "' WHERE `id_product`='" . $id_product . "' LIMIT 1");

                if ((isset($data_f[3])))
                    $sql = mysql_query("UPDATE `ps_product` SET `wholesale_price` ='" . $data_f[3] . "' WHERE `id_product`='" . $id_product . "' LIMIT 1");
                if ((isset($data_f[5])))
                {
                    if ($data_f[5] == 0)
                    {
                        $sql = mysql_query("DELETE FROM `ps_specific_price` WHERE `id_product`='" . $id_product . "' LIMIT 1");
                    }
                    else
                    {
                        $sql = mysql_query("DELETE FROM `ps_specific_price` WHERE `id_product`='" . $id_product . "' LIMIT 1");
                        $s = str_replace(',', '.', $data_f[5] / 100);
                        $sql = mysql_query(
                                "INSERT INTO `uds4lif_vne`.`ps_specific_price` (
`id_specific_price` ,
`id_product` ,
`id_shop` ,
`id_currency` ,
`id_country` ,
`id_group` ,
`price` ,
`from_quantity` ,
`reduction` ,
`reduction_type` ,
`from` ,
`to`
)
VALUES (
NULL , '" . $id_product . "', '1', '0', '0', '0', '0', '1', '" . $s . "', 'percentage', '0000-00-00 00:00:00', '0000-00-00 00:00:00'
);
"
                        );
                    }
                }

                echo "<p style='color:green'>товар с штрихкодом <b>" . $data_f[0] . "</b> обновлен</p>";
            }
            else
            {
                echo "<p style='color:red  '>товар с штрихкодом <b>" . $data_f[0] . "</b> не найден</p>";
            }
        }
        echo "<b>Обновление завершено</b>";
    }
    else
    {
        echo "Невозможно открыть загруженый файл";
    }
}
else
{
    echo '
<h2>Обновления цены и количества:</h2>
<form action="' . $_SERVER["PHP_SELF"] . '" method="post" enctype="multipart/form-data">
          <input type="file" name="filename"><br>
          <input type="submit" value="Загрузить"><br>
</form>
';
}

echo '</div>';
include(PS_ADMIN_DIR . '/footer.inc.php');
?>

Инструкция: Создаем/качаем ниже файл и закачиваем его в админку магазина. Путь к файлу: http://mojmagazin.ua/adminXXX/upl_price.php

Инстуркция по созданию файла CSV:

файл csv нужно заполнять так | Supplier reference #| количество | цена продажи | закупочная цена | скидка на товар: 1 – есть, 0 – нету | размер скидки в процентах|
Расчитан скрипт на то что файл в кодировке windows-1251
(в таком формате сохраняет файл эксель — «csv — разделеные точкой с запятой»)

Теперь сами файлы:

http://vazelin.org.ua/wp-content/plugins/downloads-manager/img/icons/default.gif download: update price for prestashop (1.65KB)
added: 01/03/2012
clicks: 47
description:

http://vazelin.org.ua/wp-content/plugins/downloads-manager/img/icons/default.gif download: Файл csv для импорта PrestaShop (B)
added: 01/03/2012
clicks: 53
description:

Если нужно будет для формата экселя — попросите, добавлю.
PS: Кто знает автора оригинального скрипта — маякните, чтобы добавить автора.
Спасибо: http://www.prestashop.com/forums/user/157834-surkov85/ и 4udak

Как увеличить количество клиентов интернет-магазину?

Сегодня предлагаю обсудить данный вопрос.

Задача: У вас есть интернет-магазин, который вам в день приносит 1-2 клиента. Почему так мало? Как увеличить количество продаж?

Начнем отвечать.

Read more

Первый шаги в получении клиента

С каждым днем, Интернет превращается из рядового способа коммуникации,
развлечения, и поиска информации, в необозримое место для коммерции.
Интернет торговля затмевает продажи реальные, вводятся в оборот
Интернет-представительства признанных компаний, оборот Интернет-рекламы
догоняет использование рекламы в средствах массовой информации.
Создание сайта — занятие ответственное, сравнимое с созданием материального магазина,
или с открытием еще одного офиса. Дело это непременно нужно отдать в
руки профессионалам, так как сайт, будь то всего лишь сайт-визитка,
либо же объемный Интернет-магазин — это лицо вашей компании в в
глобальной сети Интернет, и это лицо безусловно, должно быть

незаурядным и престижным для ваших клиентов.
Read more

Как сократить PPC (оплату-за-клик) на 30%

Снова на «Хабре» выложили прекрасный топик о том, как уменьшить траты на SEO для своих сайтов.

Эта информация до сих пор считалась маленькой тайной, но поймите меня правильно. В этой уловке нет ничего «супер-пупер-секретного». На самом деле, сам Google рекомендует ей пользоваться. Но дело в том, что никто этого не делает!

Read more

Оптимизация своего сайта

Рассмотрим свой сайт с точки зрения не создателя, а как пользователь.
В первую очередь пользователь сталкивается с меню сайта.
————-

©Автор статьи: Vazelin.Org.Ua©

————-
Улучшаем свое меню

  • сводим к минимуму, до 5-7 ссылок главное меню;
  • другие ссылки, тактично добавляем как саб-меню;
  • на первом уровне должны быть, примерно, следующие ссылки: «Продукция», «Производители», «Контакты», «Документы» и подобные;
  • не стоит делать зеркальных ссылок с разными названиями, но которые ведут в одно место.

Улучшаем структуру сайта

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

Ни в коем случае, не пишите текст белыми буквами!

Увеличиваем продажи за счет улучшения своей рекламы

«Реклама — двигатель торговли», не зря данная фраза уже существует веками. В каком бы не была виде реклама — это способ заявить людям о своей компании, ознакомить их с предлагаемыми услугами. Что же должно быть в вашей рекламе, чтобы она привлекала клиентов?

В первую очередь — информация на рекламе должна содержать краткие сведения о компании или услугах. Люди не задерживают свой взгляд на рекламе более чем на 5-10 секунд, а зачастую, эта цифра еще меньше.

  1. не создавайте ярких и разноцветных фонов для рекламы;
  2. текст на рекламе (билборде) не должен содержать более 5 слов;
  3. текст должен быть легко читаем и понятен;
  4. изображение на рекламе должно дополнительно предоставлять информацию, а не быть ее основной частью.

Создаем визитку

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

  1. Не стоит выделятся толщиной бумаги, я считаю, это просто «понты»;
  2. на лицевой стороне визитки должна быть информации о компании, о вас: ФИО, чем занимаетесь и рабочий телефон;
  3. интернет адрес сайта;
  4. время, в которое вам можно звонить;
  5. цвета визитки должны соответствовать цветам компании, если же таких нет, то выберете не маркие, но я не темные и не яркие;
  6. на обратной стороне визитке оставьте место для написание вашего мобильного телефона.

Последний пункт является хорошем тоном, когда вы своей рукой хорошему клиенту напишете номер мобильного телефона.

Можно сделать немного поинтереснее:

  1. логотип компании или ее название;
  2. ваша должность;
  3. инициалы.

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

Как отлечить хороший дизайн?

Конечно же, у каждого свои вкусы, и что одному — хорошо, другому — ужасно. Но с дизайном немного проще, тут главный оценщик — ваш глаз и клиенты.

Что же отличает хороший дизайн?

  1. простота подачи информации — информация должна довести с первого взгляда человеку что вы хотите ему предложить, и почему это нужно сделать именно у вас;
  2. простота понимания — после первого взгляда, любой прохожий должен понять, что ему предлагают;
  3. простота дизайна — зачастую, яркая и красочная упаковка внутри себя содержит плохой товар. Старайтесь как можно проще, но обязательно со вкусом оформлять свою рекламную продукцию и упаковки для товаров.

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