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

Location+Gmap каждый раз при редактирование ноды добавляет ещё 1 локацию

29 апреля 2014 в 21:01

Location 7.x-3.2 + Gmap 7.x-2.8

У типа данных "Фирма" хочу указывать от 1 до 10 адресов.
В типе данных "Фирма" в настройках Location проставил:
Минимальное количество местоположений =1
Максимальное количество местоположений = 10
Количество местоположений, добавляемых за один раз =1

Столкнулся с проблемой:
Каждый раз при редактирование ноды добавляется ещё 1 локация с настройками положения как в настройках модуля Gmap "По умолчанию".

Решение: Загрузка товаров в Commerce из 1C

10 апреля 2012 в 21:00

Сделал загрузку товаров из 1С 8.2 Управление Торговлей на сайт в каталог commerce на основе стандартного обмена 1С8 с сайтом в формате CommerceML
+ парсинг описаний товаров с других сайтов.

Стояла задача:
1. Импортировать и обновлять из 1с цены и количество товаров.
2. Заполнить описания товаров с сайтов-поставщиков.

Задачи решены.
Импортирует товары, цены, каталог со структурой.
Парсит описания товаров с картинками.
Ноды-описания привязываются к нодам-ценам вручную. (Из 1с потом обновляются автоматически.)

Необходимые модули:
http://drupal.org/project/commerce
http://drupal.org/project/commerce_feeds
http://drupal.org/project/feeds_xpathparser
http://drupal.org/project/feeds_tamper 7.x-1.x-dev.tar.gz (31.95 KB) 2012-Feb-02
Парсер сайтов

[Решено] Не переводятся строки в uc_advanced_catalog

26 июля 2011 в 20:22

После установки uc_advanced_catalog никак не хотели переводится некоторые строки.
Например View as, Items !start to !end of !total total и др...

Оказалось что uc_advanced_catalog успел их прописать в таблицу variable.
И вызываются они как ни странно таким способом: variable_get('uc_advanced_catalog_extra_settings_text', t('Items !start to !end of !total total'))

С помощью модуля devel очистил нужные переменные и uc_advanced_catalog подцепил русские переводы.

[решено] Конфликт advanced catalog со старыми путями

24 июля 2011 в 16:24

В журнале появилась ошибка
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC, node_sticky DESC, node_title ASC LIMIT 0, 30' at line 25 query:
путь:
/catalog/ofisnye-stoly?sort=asc&order=%D0%A6%D0%B5%D0%BD%D0%B0
advanced catalog такие пути не дает.

Оказывается Гугл ищет по старым путям от обычного каталога уберкарт.
При этом появляется ошибка SQL и не отображаются товары.

Корректная вставка яндекс карты в Drupal [решено]

2 мая 2011 в 19:25

При вставке яндекс карты с помощью конструктора http://api.yandex.ru/maps/tools/constructor/ всплывающий баллон отображался некорректно (баллон разъезжается на всю карту).

Решение здесь:
http://clubs.ya.ru/mapsapi/replies.xml?item_no=10235#cms-drupal

Улучшение advanced catalog

21 января 2011 в 11:59

Захотелось чтоб в Ubercart advanced catalog при выборе категории отображались товары из вложенных подкатегорий, а список категорий отображался картинками.
Результат можно посмотреть здесь: http://www.krasmebel.ru/shop/catalog/ofisnaya-mebel
Для этого
1. В представлении advanced_catalog заменил Аргумент Таксономия: ID Термина на
Таксономия: ID Термина (с глубиной)
2. Поправил
/sites/all/modules/uc_advanced_catalog/uc_advanced_catalog.module

Обновлено (исправленный вариант):

<?php
  
if ($count 0) {
/*    if (count($links)) {
      $output .= theme('links', $links, array('class' => 'links inline uc-categories')) ."<br />\n";
    }

    // creating pager
    ksort($row);
    $rows[] = $row;
    $pager = theme('table', array(), $rows, array('class' => 'pager-field'));

    // output construction
    $output .= $catalog->description;
*/
//My begin

    // creating pager
    

ksort($row);
    
$rows[] = $row;
    
$pager theme('table', array(), $rows, array('class' => 'pager-field'));

    

// original code
    // Display table of child categories similar to an osCommerce site's front page.
    
$columns variable_get('uc_catalog_category_columns'3);
    
$cat_rows = array();
    
$row1 = array();
    
$i 1;
    foreach (
$child_list as $cell) {
      
$row1[] = array('data' => $cell'class' => 'category');
      if (
$i $columns == 0) {
        
$cat_rows[] = $row1;
        
$row1 = array();
      }
      
$i++;
    }
    if (
count($row1) > && count($row1) < $columns) {
      if (
count($cat_rows) >= 1) {?>

Ошибка регистрации Duplicate entry '0' for key 1 query: user_save

2 августа 2010 в 20:22

После обновления Drupal5 ->Drupal6 возникла ошибка при регистрации:
•user warning: Duplicate entry '0' for key 1 query: user_save /* Гость : user_save */ INSERT INTO users (name, mail, pass, init, status, created) VALUES ('Dimm3', 'info@utilizaciya-avto.ru', '8a1cef76c3ea963a331d1cebea6ef7d2', 'info@utilizaciya-avto.ru', 1, 1280763873)

Галлерея-блог с zip-загрузкой картинок

23 марта 2009 в 18:07

Галлерея - блог с zip - загрузкой картинок
http://drupal.org/project/pblog
Может кому пригодится.
Демо:
http://www.baldy.za.net/node/472

При сохранении файла template.php в UTF-8 у анонимов не показвыаются страницы.

13 марта 2009 в 21:59

При сохранении файла template.php в UTF-8 у анонимов не показвыаются страницы.

Mozilla пишет:
Content Encoding Error
The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression.
Тоже самое Opera и Explorer

После обновления каждой страницы она показывается.

В UTF-8 сохраняю через notepad++ и он в начало файла добавляет 3 своих символа "п>ї".
После удаления этих символов глюк пропадает.

Можно сказать как в известном анекдоте: "А ты так не делай".
Но хочется разобраться.

Тюнинг divx.com под D6

13 января 2009 в 12:16

http://groups.drupal.org/node/18177
Servers
4 - Web servers with 8GB Memory each, Apache 2.2.x + PHP 5.2.x
2 - Memcache Servers with 8 GB Memory each. 9 bins per server
2 - Database Servers with 16GB each running MySQL 5.0.x

Performance Tuning
What we've done so far for performance tuning.

При кэшировании на разных адресах выдается одна и таже страница.

23 декабря 2008 в 22:22

С помощью url_rewrite_inbound сделал так чтобы работала замена адресов:
dom.site.ru -> site.ru/dom
mebel.site.ru -> site.ru/mebel
avto.site.ru -> site.ru/avto
У зарегистрированных пользователей все отлично работает, у анонимов при отключенном кэшировании страниц - тоже все отлично.

Но при включении кэширования у анонимов по всем адресам поддоменов вываливается главная страница с главного домена.
dom.site.ru == mebel.site.ru == avto.site.ru == site.ru

Подскажите пожалуйста куда копать?
Где перехватить кэширование?

Письма о регистрации на английском [Решено]

5 декабря 2008 в 13:42

Все письма о регистрации пользователей приходили на английском (хотя переводы все установлены).
Оказалось, что на странице /admin/user/settings остались английские оригиналы текстов.
Просто удалил все содержимое полей на английском языке.
После их удаления появились русские строчки.

Запомнить из какого термина таксономии пользователь попал в ноду

25 ноября 2008 в 9:05

Задача:
Запомнить из какого термина таксономии пользователь попал в ноду и вывести этот термин в breadcrumb

Решение:
Передать в url переменную ?ft=tid
В settings.php:
<?php
function custom_url_rewrite_outbound(&$path, &$options, $original_path) {
if(arg(0)=='taxonomy' && (is_numeric(arg(2)) || arg(2)=='all')){
if (preg_match('|^node(/.*)|', $original_path, $matches)) {
$path = $path. '?ft='. arg(2);
}
}
if(arg(0)=='node' && (is_numeric(arg(1)))){
if (preg_match('|^node(/.*)|', $original_path, $matches) || preg_match('|^firm(/.*)|', $original_path, $matches)) {
if($_GET['ft']) {
$ft=$_GET['ft'];
$node1=node_load(arg(1));
foreach ($node1->taxonomy as $term) {
$ft=$term->tid;
if($_GET['ft']==$term->tid){
break;
}
}
$path = $path. '?ft='. $ft;
}
}

}
}
?>
Устанавливаем модуль taxonomy_breadcrumb.
На нужных страницах выводим php-блок с кодом:
<?php
if($ft){
$breadcrumb = taxonomy_breadcrumb_generate_breadcrumb($ft);
if(arg(0) =='node'){
$breadcrumb[] = l($node->title, 'node/'.$node->nid);
}
drupal_set_breadcrumb($breadcrumb);
}?>

Как хакнуть path, чтобы заменял ЧАСТЬ url?

22 ноября 2008 в 15:18

Задача:
Преобразовать пути вида taxonomy/term/10/nodetype в путь nazvanie_razdela/nodetype
(taxonomy/term/10/* -> nazvanie_razdela/*)

Проблема:
Модуль path может преобразовывать только явно указанные пути
taxonomy/term/10 -> nazvanie_razdela

Подскажите, пожалуйста куда копать?
path.module - смотрел, функцию замены url не нашел.

custom_url_rewrite_outbound, custom_url_rewrite_inbound использовать не хочется, т.к. в них придется обращаться в базу к таблице алиасов (а path это итак уже делает).

Замена в url символов '%2F', '%3F', '%3D', '%26', '%2523' на '/', '?', '=', '&', '#'

18 ноября 2008 в 20:50

Проблема:
В url символы '/', '?', '=', '&', '#' заменяются кодами '%2F', '%3F', '%3D', '%26', '%2523' (если включены чистые ссылки).
Решение нашел здесь: http://drupal.org/node/150898

Перевод произвольной строки (не из модуля)

17 ноября 2008 в 23:25

Понадобилось сделать перевод произвольной строки (не из модуля)
Помог модуль stringoverrides
http://drupal.org/project/stringoverrides

Настройка хостинга nic.ru под Drupal/Acquia Drupal

17 ноября 2008 в 18:08

- Включить Использование .htaccess (Веб-сервер -> Сайты -> mysite.ru)
- Включить php5.2 (Веб-сервер -> Модули)
- добавить памяти Максимальный объем памяти для работы скрипта = 64MB ( Веб-сервер -> Модули -> Модуль PHP -> Настройка)
Теперь Drupal должен работать.

-Включение gzip сжатие страниц _http://www.internet-technologies.ru/articles/article_2.html
Прописать в файле темы themes/названиетемы/template.php
ob_start("ob_gzhandler");

-Включение gzip сжатие js и css
( http://www.drupal.ru/node/12463 )
Включил модуль gzip_module (Веб-сервер -> Модули)
В .htaccess прописал

<IfModule mod_gzip.c>
# включен ли модуль mod_gzip
mod_gzip_on                   Yes
# исключения - ява скрипты и таблицы стилей.
# на самом деле современные браузеры корректно понимают
# сжатые скрипты и CSS - тока Netscape4 не переваривает
# но его немного - поэтому в принципе эти две строки можно
# закомментировать, или поменять `exclude` на `include`
mod_gzip_item_include         file       \.js$
mod_gzip_item_include         file       \.css$
</IfModule>

- Установка APC:
скопировать файлы *.so из ~/etc/php/lib/php/extensions в ~/php5_extensions
закинуть в ~/php5_extensions приложенный файл apc.so
скопировать php5.ini из ~/etc/~php/php5.ini в ~/ и переименовать его в php.ini.
Заменить в ~/php.ini
#extension_dir="/opt/php/lib/php/extensions/"
extension_dir="/home/id_хостинга/php5_extensions/"
и добавить в ~/php.ini
extension=apc.so
Перезагрузить веб-сервер (Панель управления хостингом->Веб-сервер, управление и настройка)

P.S.
Продолжение следует...

Модуль Composite Layout - произвольное оформление каждой ноды

23 октября 2008 в 21:09

http://drupal.org/project/composite
Модуль Composite Layout - позволяет произвольно оформить отдельную ноду:
- выбрать расположение блоков
- выбрать в каких блоках выводить body, поля CCK,

PS
Похоже на panels но попроще.