Блог пользователя - Алексей Дёмин

Ubercart Как добавить панель к странице заказов.

9 июля 2011 в 21:20

Привет! довелось столкнуться с проблемой добавления панели в заказ уберкарт в модуле uc_sberbank. Много программистов билось над проблемой, но ток и не добились. В итоге сам потратил 20-30 минут и решил. Делаю вывод, что программисты были не глупые, ибо решение на виду, но просто не хотели разбираться... А может некоторые и были глупые Smile

Много описывать не буду, просто вставлю код, который достаточно добавить в module_name.module и ограничусь комментариями, ибо все понятно.

function uc_sberbank_order_pane() {
  $panes[] = array(
    'id' => 'packages',
    'callback' => 'uc_sberbank_order_pane_packages', //вызов функции, которая будет отображать содержимое
    'title' => t('Print receipt'),
    'weight' => 10,
    'show' => array('view', 'customer'),
  );

  return $panes;
}
// отображение содержимого
function uc_sberbank_order_pane_packages($op, $arg1) {
  switch ($op) {
    case 'view':
    case 'customer':
      $output = '<a target="_blank" href="'. $GLOBALS['base_url'] . '/' .file_directory_path() .'/sberbank/'.$arg1->order_id.'.jpg'.'">'.t('Print').'</a>'; //непосредственно то что будет отображаться
      break;
  }
  return $output;
}

Надеюсь, кому-то пригодится.

ps: За наводку спасибо glu2006 и его модулю uc_receipt

Синхронизация юзеров d6 и d7

25 июня 2011 в 16:29

Привет, коллеги!

Подскажите пожалуйста способ синхронизировать юзеров из разных версий друпалов?
Есть работающий сайт d6, с большим количеством дописок, и сейчас нет возможности гладко обновить до d7.
Есть задача сделать параллельный сайт, с оригинальным контентом, но с общей базой пользователей. d7 подходит под техзадание полностью, кроме пункта про общих пользователей.

Любые drupal-like идеи, пожалуйста Smile

site.ru/tracker и views - не могу понять :)

16 июня 2011 в 17:31

Привет, коллеги. Что-то я не могу разобраться.
Во вьюхе стоит аргумент "Материал: Пользователь написавший или прокомментировавший."
В пути для страницы указано "tracker"
Если открываешь эту страницу, то отображается контент из views и закладка "Мои сообщения" (tracker/1), нажимая на которую получаешь Page not found.
Если Views отключить, или изменить путь у страницы, то отображается стандартная страница tracker и на ней можно посмотреть именно Мои сообщения (отправленные или откомментированные)

Стоит ли доверять Siege?

7 июня 2011 в 22:15

Привет!
Решил протестировавшать хостинг перед переездом.
Сделал копию работающего сайта на сервер, поставил siege и начал отправлять по 10 запросов от 100 юзеров.
получил следующее:

Transactions:                   1000 hits
Availability:                 100.00 %
Elapsed time:                  26.39 secs
Data transferred:               4.34 MB
Response time:                  1.83 secs
Transaction rate:              37.89 trans/sec
Throughput:                     0.16 MB/sec
Concurrency:                   69.17

Successful transactions:        1000
Failed transactions:               0
Longest transaction:            5.48
Shortest transaction:           0.22

вроде не плохо.
Решил пульнуть на текущий сервер, претензий к котрому вроде как нет, но всеже. и увидел что почти 50% пакетов с ошибками.

Transactions:                    545 hits
Availability:                  54.50 %
Elapsed time:                  32.78 secs
Data transferred:               6.73 MB
Response time:                  4.37 secs
Transaction rate:              16.63 trans/sec
Throughput:                     0.21 MB/sec
Concurrency:                   72.60

Successful transactions:         545
Failed transactions:             455
Longest transaction:           10.84
Shortest transaction:           0.53

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

Стоит ли доверять тестам?

ps: Хостеров не называю специально, дабы не разводить холиварс. Кто разбирается, и готов проанализировать - пишите, скину в личку ТП.
ps1: Старый - это виртуальный хостинг, новый - виртуальный сервер.

Отображение Userpoints за определенный период.

2 июня 2011 в 19:01

Привет, коллеги!
Подскажите пожалуйста, как можно отображать баллы за определенный период.
Цель: проводятся конкурсы, и выявляются победители за три месяца. Хотелось бы видеть вьюшку, которая отображала бы пользователей с total points (возможность с разбивкой по категориям не помешает), полученными за определенный период времени. Есть варианты?

зы: userpoints_top_contributors - не совсем то что надо.

Почему не уходят все рассылки, или я чего-то не понимаю?

25 мая 2011 в 11:36

Привет, коллеги!

Я заметил странную картину: подписчиков в рассылке в несколько раз больше (см Выделение_025.png), чем уходит рассылок (см Выделение_026.png).

Объясните, как такое может быть, или цифра в Выделение_026.png обозначает что-то другое???

upd Вобщем зашел в подписки и там большая часть подписок со статусом Неактивен. Что это значит???

Не могу разобраться с заказами и статусами.

16 марта 2011 в 13:26

Привет, друзья!
Совсем запутался со статусами заказов и что происходит с заказами при разных условиях?
И так что есть:
Магазин с заказами, которые могут оформлять как зарегистрированные юзеры, так и анонимусы с последующей регистрацией.
есть встроенные состояния (state)

  • Completed
  • Payment received
  • Post checkout
  • In checkout
  • Canceled

также есть статусы заказов (statuses) Сопоставленные с состояниями.

  • canceled -> Canceled
  • in_checkout -> In checkout
  • pending -> Post checkout
  • processing -> Post checkout
  • payment_received -> Payment received
  • completed -> Completed

в моем случае pending и processing - одну и ту же функцию выполняют. можно от одного отказаться?
получается так, что иногда при, казалось бы, одинаковых условиях уберкарт выставляет разные статусы заказов. Какой-то системы я не вижу. Хочу разобраться, почему так происходит.
Кто выставляет в итоге статус заказа? Модуль платежной системы? уберкарт?
Чем отличаются pending и processing? (в смысле перевод-то я знаю, я имею ввиду принципиальное отличие, когда и какой статус присваивается?)

views_slideshow показывает не все ноды

8 февраля 2011 в 22:53

Привет друзья!
не пойму почему views_slideshow показывает две первые ноды, а вместо оставшихся просто пустоту. В тексте страницы код для этих нод есть, отличий я не заметил. посмотреть можно тут http://bps52.ru/главная

Спасибо!

Не могу понять, почему логины генерируются на рандоме?

2 февраля 2011 в 20:50

Привет, друзья!

Ни кто не встречался? У меня путь к пользователю формируется как users/scksygvrvc (вобщем символы на рандоме Smile )
в синонимах стоит users/[user-raw]
Подскажите, пожалуйста, как вернуть на место, чтобы было users/username?

Ubercart не создает пользователя.

15 декабря 2010 в 11:29

Привет! Столкнулся со следующей проблемой: Уже три раза из 100 заказов появляются заказы с незаполненными данными пользователя. т.е. Customer=0, email не заполнен.
Выяснено, что заказ

  1. создается тогда, когда пользователь не указал емейл и его вернуло с ошибкой на страницу checkout. Т.е. оформить заказ не получается, но заказ-призрак создается.
  2. если человек в этом же браузере вводит емейл и подтверждает свой заказ, информация о пользователе в этом заказе сохраняется.
  3. Если подтверждает на странице review, то создается пользователь в друпале и ассоциируется с заказом.

Если п.п.2 и 3 не отработали, то безымянный заказ продолжает висеть в списке заказов. как с ним поступить? удалять? как обрабатывать?
В идеале хотелось бы избавиться от заказов-призраков. Как решаете эту проблему вы?

как в ноде отобразить CCK из OG

18 ноября 2010 в 16:42

как в ноде вывести блок, который будет показывать некоторые поля и field_groups из OG, к которой эта нода принадлежит?
С помощью $node->og_groups можно в принципе получить номер группы, а потом через sql, но это слишком не правильно, мне кажется.

Может как-то через вьювс?
Любые идеи! Smile

Что влияет на производительность?

6 ноября 2010 в 15:45

Привет!
друпал очень медленно работает. На сервер несколько сайтов. Остальные работают быстро, а один, самый тяжелый, в десятки раз медленей. 1.2 запроса в секунду.
кроме количества модулей, на сайте в сотни раз больше пользователей и в тысячи раз - материалов. (при равной посещаемости)
терзают следующие вопросы
1) На сколько количестов пользователей и материалов влияет на отдачу? Или искать проблему в модулях?
2) неподключенные модули в папке modules как-то влияют на производительность? понимаю что недолжны, но всетаки

Ubercart отобразить оставшееся количество.

4 ноября 2010 в 11:08

Здравствуйте!
Схема работы следующая:
Товар завозиться по мере сбора заявок. Т.е.На складе в городе Н есть 50шт. товара при этом в город М вести меньше 30шт. не рентабельно, люди покупают товар, и если количество оплативших заявки больше или равно 30 - товар привозят. Получается у товара должны быть свойства: Количество на складе, Минимальное количество, и сколько куплено.
На странице товара надо сделать отображение, сколько товара куплено и сколько осталось купить, для того что бы партию привезли в город М.

Чего-то я не приложу ума как это сделать.

Импорт в Content Taxonomy

13 октября 2010 в 17:22

Здравствуйте!
кто нибудь делал импорт пользователей и профилей с Content taxonomy?
1) В Node Import не показывается поля taxonomy.
2) Если это получиться, как сделать, чтобы как-то модуль искал значения поля в таксономии, а затем вставлял в поле Content Taxonomy уже ссылку на taxonomy ID

Заранее спасибо!

Иерархия прав к материалу.

1 октября 2010 в 14:20

Здравствуйте!

Дано: четырёх-ступенчатая иерархия, между которыми надо решить проблему прав доступа к материалу.
Высшее звено - могут могут иметь доступ куда угодно
Начальники отделов - имеют доступ к материалам своего отдела и секторов
Начальники секторов - видят только свой сектор (материалы всех служащих)
Служащие - только свои документы.

Ролями решить не получится, потому что отделов много, а секторов еще больше и число их не постоянное.

Любые мысли?

ps: если найдется исполнитель - буду рад!

Каталог фирм

16 августа 2010 в 21:28

Здравствуйте!
Нужно сделать подобие каталога фирм. В виду того, что "фирма" может покупать через уберкарт, было решнено сделать все это безобразие на content profile. Сейчас сделано следующее:

  1. новый тип контент профайл "Фирма" и с помощью CCK-поля node reference к нему привязываются сотрудники (п.2).
  2. новый тип контент профайл "Сотрудник", который привязывается к

т.е. каждый пользователь может создать и заполнить профиль Сотрудник, но только избранные могут создавать профиль Фирма.
Возникло три проблемы:

  1. Надо иметь возможность сделать взаимосвязь, чтобы в редактировании профиля Сотрудник тоже отображались организации, в которых он участвует, и возможность добавлять в профиле Сотрудника фирмы, так, чтобы это отобразилось в Фирме (в node reference)
  2. Добавление еще нескольких полей к node reference (Должность, дата приема на работу, и т.п. Multigroup). Я так понял, что это доступно только в cck 6.x-3.x-dev. На сколько это справедливо? на сколько безопасно использовать эту сборку?
  3. Проверка на уникальность созданных фирм

Есть какие-то решения?
Может быть я что-то сделал не правильно? Или в корне надо было по другому? Буду рад любому совету. Возможно небольшое вознаграждение за полезный совет Smile

Заранее спасибо!

Плавная прокрутка страницы к анкору.

25 июня 2010 в 0:17

Привет!
Есть задача, при нажатии ссылки, которая имеет анкор, загрузить страницу, а потом плавно спуститься к этому анкору, Ссылки сделаны через меню

[solved] 4 div в два столбца

7 мая 2010 в 13:36

Здравствуйте.
есть вывод views:

<div class="views-row views-row-1 views-row-odd views-row-first views-row-last">
<div class="views-field-created-1"><span class="field-content">07</span></div>
<div class="views-field-created"><span class="field-content">05/10</span></div>
<div class="views-field-title"><span class="field-content"><a href="/%7Ealexd/drupal/?q=node/2" class="active">Недавно был запущен новый проект</a></span></div>
<div class="views-field-teaser"><div class="field-content"><p>Это новость про Недавно был запущен новый проект</p></div></div>
</div>

Надо разместить его таким образом
1) views-field-created-1 и views-field-created вывести один под другим слева в колонку шириной 81px
2) views-field-title и views-field-teaser вывести один под другим на оставшуюся фиксированную ширину.

Игрался с параметром float - не помогло.

Подскажите, кто силен в CSS?

upd: Решение подсказано на форуме htmlbook

.views-field-created-1 {
    width: 81px;
    float: left;

}

.views-field-created {
    width: 81px;
    float: left; clear: left;
}

.views-field-title {
    overflow: hidden;
}

.views-field-teaser {
    overflow: hidden;
}

Элементы Primary menu произвольно

6 мая 2010 в 22:52

Здравствуйте!
Надо разместить ссылки меню произвольно по странице. Т.е. нет ли какой-то функции, которая выводит ссылкой один определенный элемент из массива меню? А потом я его темизирую.

[Solved] Приветственный текст на главной в Node Gallery

13 апреля 2010 в 18:17

Здравствуйте!
Есть такая проблема.
Node Gallery выбран для раздела Портфолио.
Все темизировано отлично, но вот проблема: Надо изменить заголовок на главной странице Node Gallery. а именно (http://adelina-studio.ru/galleries), и добавить дополнительно текст-описание (типа это портфолио, бла-бла-бла), ну и соответственно определенным образом его темизировать.