Блог пользователя - alexsaab

Сайт магазинов по продаже запчастей (версия для терминалов)

26 июля 2019 в 9:47

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


Сам сайт тут:
http://feparts.kz

Каталоги пример:
http://feparts.kz/ru/catalog2/vin/XWEFK411BHC000791?ft=findByVIN&unit=23588

Что делать Microdata и Display Suite

20 декабря 2014 в 0:25

Приветствуем,

Нужно отображать свойства полей для использования в Google Merchant. Что скажите как лучше реализовать?! У меня стоит Display Suite. Хочется чтобы быстро и оптимально. Что за микробные такие смотрите тут: http://schema.org/Product ну и на странице Google https://support.google.com/webmasters/answer/146750

Что скажите, как быстрее и дешевле?

С ув., Алексей

Ubercart 2 и D6 мультистраничная ajax форма

24 октября 2014 в 12:15

Приветствую,

Разрабатываю модуль для D6 и Ubercart 2 с использованием мультистраничных форм и ahah (ajax) методов.

Проблема возникла в валидации и построении формы. Задача следующая.

1) Принять у пользователя данные с формы (телефон, майл, ФИО).
2) Произвести валидацию формы. Если все нормально - отправить на шаг 3, если нет повторит шаг 1 с выдачей ошибок;
3) Показать пользователю, что его данные приняты.

Кто, что посоветует, есть ли примеры у кого и где посмотреть?

С ув., Алексей

Отсылка сообщений через модуль smtp нет копии в отправленных на imap сервере

17 марта 2014 в 15:10

Приветствуем,
Такая проблема возникает у многих кто перешел на доменную почту yandex.ru
C доменной почтой google такой беды не было, но тут Drupal перестал оставлять копии сообщений в папке отправленные.
А иногда так хочется видеть, что отсылает Drupal своим пользователям, ну имена пользователей - пароли и т.д. Smile
Поэтому был написан специальный модуль в дополнении к smtp, который добавляет функциональность копирования отосланных сообщений в папку, который указал администратор сайта.
Требование одно установленное расширение imap для php.
Модуль устанавливается и администрируется тут: admin/settings/smtp
В общем пользуйтесь для D6.
Для D7 тоже могу дописать за денежку.
Обращайтесь в личку.

Файл что-то не вложился.
Опять на D6 - авария.
Скачать можно отсюда:

Отсылка сообщений через модуль smtp нет копии в отправленных на imap сервере

17 марта 2014 в 13:53

Приветствуем,

Такая проблема возникает у многих кто перешел на доменную почту yandex.ru
C доменной почтой google такой беды не было, но тут Drupal перестал оставлять копии сообщений в папке отправленные.
А иногда так хочется видеть, что отсылает Drupal своим пользователям, ну имена пользователей - пароли и т.д. Smile

Drupal 6 + Ubercart + PayPal

28 декабря 2013 в 13:17

Приветствуем,

Все знают наверное что PayPal пришел в Россию, но модуль Ubercart не совсем доработан для приема платежей в российских интернет-магазинах:
1) Нет в валютах ведения расчетов Рублей,
2) Нет выбора русского языка в установке метода оплаты PayPal в России,

Скажите у кого-то есть реально работающий интернет магазин в России интегрированный с PayPal?

Как решали проблему данных недоработок?

С ув., Алексей

Модуль для массовых рассылок только с расширенным функционалом

3 ноября 2013 в 13:43

Приветствуем,

Сейчас хотим начать проводить массовую рассылку покупателям интернет-магазина работающего на Drupal 6 и Ubercart 2. С помощью модуля profile и uc_profile сделали подписку для покупателей на новости. Все бы ничего, но возникает простая проблема рассылка новостей. Что порекомендуете по модулям рассылки, кратко видел тут: http://www.drupaldump.com/mass-email-group-email-or-newsletter

Но реально интересует следующий функционал:

1) Рассылка новостей покупателям у которых стоит галка в поле «Подписка на новости» в профиле;
2) Рассылка отправлений в формате HTML;

Переключение между сайтами полное

13 января 2013 в 23:59

Переключение между сайтами на Drupal как?

Почитал документацию нашел вот такую функцию для переключения между базами Drupal db_set_active();

В сеттинге (settings.php) прописываем дополнительно еще 3 сайта с Drupal помимо основного (default) типа : site1, site2, site3

Сайты крутятся на multi-хостинге It-Patrol, но каково же было мое удивление, если сделать такую весчь как
db_set_active('site1');

....
код по редактированию ноды

node_save();

записываются вся изменения в Default базу (а не во site1 или иную другую).
Фактически при использовании кода:
db_set_active();

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

db_query('UPDATE {uc_products} up
INNER JOIN {uc_products_sync} us

Где найти функцию отвечающую за ввывод или невывод блоков на определенных страницах сайта

18 декабря 2012 в 22:14

Приветствую,

Тут возник вопрос не могу найти функцию (API и т.д.) с помощью которой Drupal смотрит какой блок нужно выводить на какой странице? Предроложим, что у нас есть у нас блок новостей, в Drupal имеется такая тонкость - выводить данный блок только на страницах... Выводить блок везде, кроме страниц... и выводить блок только на если PHP выражение вернет истину. Интересует вопрос как найти функцию которая определяет адрес текущей страницы и сравнивает его с установками блока, затем решает выводить или не выводить его. Что-то не въеду как это реализовано в D6.

Nodewords нормально ли работает у вас

15 декабря 2012 в 22:33

Привтествую,

Собственно проблема возникла после обновления модуля Nodewords до версии 6.x - 1.14 - модуль попросту перестал работать.

В чем это выражается:

1) На странце установки модуля устанавливаем /admin/content/nodewords отмечаем Keywords и Description в качестве обязательных тегов в форме редактирования или создания материала . Входим на страницу создания ноды - там полный набор неиспользуемых метатегов Connonical, Dublin Core и т.д., спрашивается для чего?

Как добавить еще одну фукнцию в queue процесс после выполнения всех действий?

2 декабря 2012 в 20:01

Приветствую,

Суть проблемы: необходимо запускать процесс обновления товаров на сайте по прайслистами поставщика.
Делаю все это в Queue процессе вызываемого по Cron.

function mymodule_cron()
{
    $items = mymodule_get_info_db();

    if ($items) {
        $queue = DrupalQueue::get('collections');
        $queue->createQueue();
        foreach ($items as $item) {
            $queue->createItem($item);
        }
    }

//Если написать что-то сюда
//то это будет выполнятся
//до запуска  $queue - а надо после Smile

}

function mymodule_cron_queue_info()
{
    $queue['collections'] = array(
        'worker callback' => 'mymodule_process_file_run',
        'time' => 60,
    );

    return $queue;
}

Ну как же так ?! Пустые строки не равна одна другой!

27 ноября 2012 в 14:54

Я сейчас просто лопну от злости на этот код:

               
                $entity_id = 0;
                $data1[0] = (string)$data1[0];
                $a1 = (string)"";
                if (($data1[0] != $a1)) {
                    $entity_id = get_supcode_entity_id($data1[0],$term_id);
                }
                elseif (($data1[0] == $a1) || ($entity_id == 0)) {
                    $entity_id = get_supname_entity_id($data1[1],$term_id);
                }  
                print ";$data1[0];$data1[1];$data1[2];$data1[3];<br/>";

смотрим на xdebug информацию: $data1[0] = "" и a1 = ""; но почему то постоянно выполняется условие if (($data1[0] != $a1)) - ну как же так?! Они же равны! И та и другая переменная одного типа string.

Как создать такую надпись в форме для каждого поля

25 ноября 2012 в 11:22

Приветствую,

Скажите как создать программно подобную надпись для каждого элемента поля. Да так, чтобы она была вместе с полем Drug and Drop, поле как вы видите multivalues?
С помощью кого элемента формы это возможно сделать, желательно без сторонних модулей Drupal на стандартном Form API?

С ув., Алексей

Программное удаление файлов изображений: решено

13 ноября 2012 в 12:12

Привет,

Есть сущность Commerce продукта содержащая поле-файл с изображением: $product->field_product_image . В этом поле хранятся изображения товаров: $product->field_product_image[LANGUAGE_NONE][0]['uri'], $product->field_product_image[LANGUAGE_NONE][1]['uri'], $product->field_product_image[LANGUAGE_NONE][2]['uri'] и т.д.

Готовая функция по разбору таксономии есть ли такая

10 ноября 2012 в 23:46

Привет,

Есть такая строка для экспорта в словарь таксономии

Техника>>Бензо>>Молотоблоки,Для дачи>>Культиваторы и молотоблоки

Как видите нужно создать ноду которая относится сразу к двум терминам одного у которых сложная иерархическая структура.
То есть нода должна сразу относится и Техника>>Бензо>>Молотоблоки и Для дачи>>Культиваторы и молотоблоки , где соответственно:
Термины 1 уровня: Техника, Для дачи ;
Термины 2 уровня: Бензо,Культиваторы и молотоблоки
Термин 3 уровня: Молотоблоки

Знак "," разделитель терминов, знак ">>" разделитель иерархии таксономии. Если с разделением терминов одного от другого где есть запятая проблем не возникает, то с иерархией беда.

Передача параметров при вызове функции в submit формы

9 ноября 2012 в 15:16

Приветствую,

Есть форма, в ней несколько кнопок:

Копирование данных из одного поля материала в другое - собственно как

25 октября 2012 в 10:20

Приветствую, еще раз.

Как программно скопировать данные одного поля в другое?

Смотрите есть поле (картинка): field_img есть второе поле (тоже картинка) uc_product_image - такие поля делает Ubercart для добавления изображения по умолчанию.

Интересует вопрос как данные из одного поля скопировать в другое. То есть источник field_img приемник uc_product_image именно программно, всякие модули не предлагать - глючные они.

Навоял такой код:

       
        $nodes = db_select('node', 'n')
            ->fields('n', array('nid'))
            ->condition('n.type', 'product')
            ->execute();    
       
        foreach ($nodes as $n) {
            $node = node_load($n->nid);
            $node->uc_product_image = $node->field_img;

А вообще работает ли как положено функция drupal_html_to_text ?!

24 октября 2012 в 12:17

Приветствую,

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

Проблема с Feeds обновление прайса и остатков

19 октября 2012 в 17:45

Приветствую,

Есть товары на сайте:

Товар 1;Цена 1
Товар 2;Цена 2
Товар 4;Цена 4
Товар 6;Цена 6

и т.д.

Есть прайс лист от поставщика:

Товар 2;Цена 2
Товар 3;Цена 3
Товар 4;Цена 4
Товар 5;Цена 5
Товар 6;Цена 6

Задача:

1) Как видите "товара 1" нет у поставщика - нужно поставить прочерк в поле специальном по присутствии на складе, потом если это поле встречается с прочерком программно не выводить кнопку купить в каталоге Ubercart (это я знаю как сделать);
2) У поставщика есть лишние товары - всякое дерьмо которое в интернет магазине нафиг не нужно: Товар 3 и Товар 5;

Как достучаться к полю сущности продукта зная ссылку на него из ноды продуктв

15 октября 2012 в 23:31

Приветствую,

Есть проблема вывода значения поля продукта Commerce при темизации результатов поиска, имеем функцию

function mytheme_preprocess_search_result(&$variables) {
  $result = $variables['result'];
  $n = node_load($result['node']->nid);
  if ((isset($result['node'])) && ($n->type == 'product_motoblok')) {
      $variables['snippet'] = "<div>".l(
                                theme('image_style',
                                        array('style_name' => 'news_teaser',
                                              'path' => $n->field_product['und'][0]['product_id']->field_product_image['und']['0']['uri'],
                                              'getsize' => TRUE,