Бланки на PHP.

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

Один из вариантов решения - подготовка шаблонов документов в формате RTF (в программе MS WORD). При подготовке шаблона туда, где должны располагаться подставляемые данные, например, сумма заказа, помещаем “оригинальную” последовательность символов, например, %SUM%.
Внимание! При подготовке шаблона аккуратнее со сменой языков. При работе в программе ворд следует выделить последовательность символов (%SUM%), выбрать пункт меню Сервис-Язык-Выбрать язык. Я выбирал Русский :)
Шаблон сохраняем на сервер (например, с именем template.rtf в каталог со скриптом)

В скрипте, при работе с шаблоном, просто заменяем последовательность символов:$file = file_get_contents('template.rtf');
$file = str_replace("%SUM%", ' '.$sum, $file);
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename=nakladnaya.rtf');

Где брать бланки документов? В интернете.. Все более-менее актуальные есть в “свободном” доступе. В крайнем случае, можно заплатить.

Опубликовано Апрель 12, 2008 | автор: levik  |  Комментарии (3) »

Коды ошибок Mysql

Список кодов ошибок Mysql

смотреть все коды ошибок MySQL (Eng)

Опубликовано Апрель 2, 2008 | автор: levik  |  Комментарий (1) »

easypopulate - описание формата данных (Oscommerce)

Easypopulate используется для экспорта-импорта данных (csv файлы - открываются в Excel) в магазинах на базе OScommerce. Краткое описание формата данных и некоторая полезная информация собрана в таблице ниже. Поля отмеченные звездочкой являются обязательными для заполнения. Остальные при необходимости можно оставлять пустыми.

Заголовок Описание формата EasyPopulate
v_products_id ID товара (из базы в магазине). Для новых товаров ставим 0 (ноль)
v_products_model* Код товара (артикул)
v_products_image Адрес основного изображения товара (относительно каталога images/). Файлы предварительно закачиваются по FTP (или в админке) Отображается как в листинге товаров, так и в popup изображении
v_products_image_med Основная картинка товара (при просмотре описания товара).
v_products_image_lrg Основная картинка товара (pop-up).
v_products_image_sm_1
v_products_image_xl_1
v_products_image_sm_2
v_products_image_xl_2
v_products_image_sm_3
v_products_image_xl_3
v_products_image_sm_4
v_products_image_xl_4
v_products_image_sm_5
v_products_image_xl_5
v_products_image_sm_6
v_products_image_xl_6
v_products_name_1* Название товара (максимальная длина - не больше 255 символов - см. длину поля products_name).
v_products_description_1 Описание товара (разрешается использовать HTML тэги)
v_products_info_1 Краткая информация о товаре.
v_products_url_1 Внешняя ссылка на товар(сайт производителя и тд.; указывается без http://)
v_products_head_title_tag_1 HTML-тэг Meta Title (заголовок) для страницы товара.
v_products_head_desc_tag_1 HTML-тэг Meta Description (описание) тэг для страницы товара.
v_products_head_keywords_tag_1 HTML-тэг Meta Keywords (ключевые слова) для страницы товара.
v_products_price* Цена товара в валюте по умолчанию (см. Админка -> Локализация -> Валюты). Разделитель дробной части - ТОЧКА!
v_products_weight Вес товара в килограммах (используется для расчета стоимости доставки). Если не используется - пропускаем.
v_date_avail Ожидаемая дата “доступности” товара (проще оставлять пустой)
v_date_added* Дата добавления товара в магазин в формате YYYY-MM-DD HH:mm:ss (формат строгий!)
v_products_quantity Количество единиц товара на складе. Если не используется, вводим “заведомо большое” - 99999
v_products_quantity_order_min Минимальное количество товара для заказа. Если товар “поштучно” - пропускаем (пусто)
v_products_quantity_order_units Количество единиц в “упаковке” товара (полезно при оптовой торговле)
v_products_sort_order Номер для сортировки (чем меньше, тем выше товар в списке)
v_manufacturers_name Производитель
v_categories_name_1 * Категория, в которую добавляется товар. При необходимости, можно указать полный путь (с подкатегориями) до седьмого уровня вложенности. Неиспользуемые уровни оставляем пустыми.
v_categories_name_2
v_categories_name_3
v_categories_name_4
v_categories_name_5
v_categories_name_6
v_categories_name_7
v_tax_class_title* Название налога. (см. Админка - Места/Налоги - Типы налогов).Скорее всего лучше оставить “–нет–”.
v_status* Статус товара (Active/Inactive - соответственно доступен/недоступен). Пропускать нельзя!
v_action Для удаления товара указать “delete”. Если товар удалять не нужно - пропускаем.
EOREOR* EOREOR - символ “конца строки”

Если Вы считаете, что данная информация о формате данных EasyPopulate неполная - отписывайтесь в комментариях. Будем дополнять вместе!

Опубликовано Март 30, 2008 | автор: levik  |  Комментарии (9) »

FCKeditor - транслит имен файлов

FCKeditor при загрузке файлов с русскими символами в имени выводит ТАКИЕ кракозябры.. :)

Для “облегчения” жизни себе и ему “прикручиваем” плагин - http://setegnom.com/node/930

http://www.supremum.lv/2010/04/09/transliteraciya-imyon-fajlov-pri-zagruzke-v-modx/

Опубликовано Март 18, 2008 | автор: levik  |  Без комментариев »

Oscommerce - шаблоны по умолчанию

В некоторых версиях OScommerce шаблон товара по умолчанию ( все шаблоны для страницы товара располагаются в каталоге /templates/шаблон_магазина_/module/product_info/)  выбирается как первый открытый файл (opendir)

При изменении даты/времени редактирования, сохранения старых файлов шаблона можно оказаться в неожиданной ситуации - когда товары, в которых шаблон для отображения товаров не указан, будут отображаться иначе, чем до редактирования :))

Варианты решения:
1. перезалить шаблоны в нужном порядке (все файлы из каталога переносим, и первым заливаем нужный “дефолтный” шаблон)
2. в базе прописать для всех товаров со значением product_template = ‘default’ нужный нам шаблон.
3. если необходимости нет, оставить один единственный нужный шаблон для товара.

Опубликовано Март 12, 2008 | автор: levik  |  Без комментариев »

Как подружить Agnitum Outpost Firewall Pro с Torrent-клиентами

Для коректной раздачи (некоторых) торентов Agnitum Outpost Firewall Pro (2008 Build) временно отключаем в настройках самозащиту Outpost-а, открываем в любом текстовом редакторе (Блокнот, например) файл machine.ini из каталога, куда установлен файерволл (обычно C:\program files\agnitium\outpost firewall\),  меняем там
[Afw]
EnableContentHandler=TRUE
на
[Afw]
EnableContentHandler=false

Перезапускаем Outpost, включаем самозащиту и наслаждаемся раздачей.

Опубликовано Март 6, 2008 | автор: levik  |  Без комментариев »

Паркованные домены в Cpanel

При использовании хостинга, на котором установлена CPanel появилась необходимость создать паркованный домен (parked domain) не для основного домена. То есть, чтобы при открытии двух сайтов, адреса были разные, а сайт открывался один и тот же.

Практически все найденные мануалы сообщали о том, что паркованный домен можно создать только для основного домена аккаунта Cpanel.

Припаркованный домен (домен—указатель) — это домен, который работает так же, как и  основной сайт. Эта функция позволяет добавить ещё один домен к уже работающему сайту. Рекомендуется использовать, если нужно “прикрутить” домен к сайту.

Подробно о парковке дополнительных доменов в cpanel

Опубликовано Март 2, 2008 | автор: levik  |  Без комментариев »

Удвоение отступа (margin) в Internet Explorer 6

Не сразу понял, что происходит когда столкнулся с багом - в Internet explorer 6 отступ визуально казался больше, чем в Mozilla, Opera IE7. При увеличении отступа эта разница становилось более заметной. Хотя, никаких предпосылок к этому, казалось бы, быть не должно - В css всё ровно… Баг наблюдался при указании отступа для “плавающего” элемента (margin-left:10px; float:left) причем, только если отступ и выравнивание в одну сторону.

Как оказалось, это довольно известная проблема с удвоением отступа margin характерна для IE версии 6 и ниже и именно при выравнивании элемента в сторону отступа.. И название у неё имеется  - Doubled Float-Margin Bug.

Конечно, можно отказаться от использования margin для плавающего элемента, но есть другой более действенный способ - прописать display:inline для этого же элемента. Кроме того, можно воспользоваться условными комментариями для Internet Explorer версии 6 и ниже (lt 6) или хаками.

Дополнительную информацию можно посмотреть тут: http://www.positioniseverything.net/explorer/doubled-margin.html

upd Бонус расползание фона (background) в IE  при ненулевом отступе (margin) как раз на расстояние отступа (margin-bottom:10px; background:url() repeat-y;) вылечилось добавлением width:100% для блокового элемента (ie margin background)

Опубликовано Февраль 25, 2008 | автор: levik  |  Без комментариев »

Адресная книга Outlook Express

Outlook Express (как и любой почтовый клиент) позволяет вести адресную книгу. Удобно, когда все почтовые адреса хранятся в одном месте. Заполнять адресную книгу в Outlook Express можно постепенно (по мере получения писем информация об отправителях автоматически сохраняется, можно заносить информацию и при отправке письма со своего компьютера), а можно сразу - на панели инструментов пункт “Адреса” (он же дублируется в меню “Сервис“- “Адресная книга“, и в информационной панели “Контакты”. Можно воспользоваться быстрыми клавишами Shift+Ctrl+B /возможно, от Book/)

Интерфейс у адресной книги интуитивно понятный. Язык (конечно, если у Вас система русифицированная), скорее всего русский. Справка, как и во многих программах доступна по нажатию горячей клавиши F1.

Для каждого контакта в адресной книге имеется возможность хранить не только необходимую для почтовой переписки информацию (Фамилию, Имя, e-mail, должность), но и другие данные (например, адрес, место работы, дату рождения, информацию о семье), которые аккуратно рассортированы по вкладкам “Личные”, “Служебные”… Конечно, заполнять все это не обязательно, но, согласитесь, приятно получить поздравление, например, с годовщиной или с днем рождения.

Каждый контакт хранится в виде визитной карточки, которую можно экспортировать и импортировать отдельно.

Перенос адресной книги Outlook Express с одного компьютера на другой

Имеется возможность импорта и экспорта адресной книги Outlook Express, как непосредственно из самой программы (и в программу) - что позволяет поддерживать данные на разных компьютерах в актуальном состоянии. Кроме того, когда программу запустить не удается (в случае сбоя, например) можно скопировать файл книги непосредственно. Адресная книга Outlook Express хранится в каталоге Documents and Settings\%USERNAME%\Application Data\Microsoft\Address Book\ в файле специального формата с расширением .WAB.

Куда пропала адресная книга Outlook Express?

Иногда, при переподключении к домену может возникнуть ситуация, когда создается каталог нового пользователя  Documents and Settings\USERNAME.DOMAIN (до этого, все файлы этого пользователя располагались в каталоге Documents and Settings\USERNAME). Следует проверить наличие старой адресной книги Outlook Express в каталоге пользователя.

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

Опубликовано Февраль 19, 2008 | автор: levik  |  Без комментариев »

Пропал пуск и панель задач

После загрузки компьютера отображается рабочий стол, видны (или не видны) значки рабочего стола, однако ни кнопки “Пуск” ни панели задач не видно. Куда пропал ПУСК и панель задач?

Естественно, первым делом пробуем подвести курсор к нижнему краю экрана, где обычно располагается панель задач - возможно, она просто скрыта, или же свернута до минимума - следим за изменением курсора на две “растягивающие” стрелочки… Ан нет - нету панельки :) Или есть? Если курсор изменился - “вытаскиваем” панель задач. А если нет?

Пробуем пройтись по всем краям экрана - возможно, панель задач располагается не внизу, а сбоку или сверху. Если и теперь не получилось найти ни её ни кнопку пуск.. Похоже, они действительно пропали…

Если значков на рабочем столе нет - пробуем запустить explorer.exe (или Проводник) - процесс, который и отображает рабочий стол (Windows+R или Alt+Ctrl+Del - Диспетчер задач - Новая задача(Выполнить), вводим explorer.exe и нажимаем “Ввод”). Не помогло? Пробуем дальше…

Если кроме отсутствия панели задач и кнопки пуск никаких “аномалий” не наблюдается, то (вспомните, подключали ли Вы дополнительный монитор, проектор и тд), возможно, проблема в том, что монитор отображает участок “расширенного” рабочего стола без панели задач. В этом случае, скорее всего, поможет переустановка драйвера видеокарты. (Заходим в панель управления, система, оборудование - диспетчер устройств, в появившемся окне раскрываем ветку “Видеоадаптеры” и удаляем устройство - предварительно стоит проверить наличие драйвера. После чего переустанавливаем драйвер. Для верности можно еще перегрузиться.)

Возможно, поможет восстановление более раннего состояния системы.

Если же все вышеперечисленное не помогло найти пропавшую панель задач с кнопкой “Пуск” - скорее всего это происки вируса, который, возможно, уже был удален, однако следы его остались.. Если, кроме того, наблюдаются проблемы с копированием-вставкой файлов, папок, с перетаскиванием значков (значки на рабочем столе не перетаскиваются.. Да и не только на рабочем столе, но и в папках. Вспоминается шутка - когда фоновым изображением ставится “рабочий стол со значками”, а неискушенный пользователь безуспешно пытается побороть непонятный “глюк” :) ), возможно, не запускаются некоторые программы.. или наблюдается “непредсказуемое” поведение компьютера - скорее всего, именно так и есть.. Что ж… будем искать панель с пуском :)

Желательно, первым делом, проверить жесткий диск на вирусы - можно воспользоваться LiveCD от DrWeb или любым другим загрузочным антивирусным диском, по-возможности с последними базами. Если после лечения  проблема с панелью задач не решена - копаем дальше.

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

Возможно, в качестве Shell-а (”основная программа системы”) прописан не explorer (проводник)… или не тот проводник - попробуйте восстановить файл (или сравнить файл C:\windows\explorer.exe с “оригинальным”) - можно воспользоваться загрузкой с диска, либо скопировать файл с другого компьютера.

И, наконец, лезем в реестр… Запускаем редактор реестра (regedit.exe)

1. смотрим раздел
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/Image File Execution Options/
если имеются подразделы explorer.exe или iexplore.exe - смело удаляем.
2. в разделе
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/Winlogon/
проверяем значение параметра Shell - должно быть еxplorer.exe. Если нет - исправляем.

UPD. бывает также “принудительное” закрепление панели задач “За экраном” - при загрузке в безопасном режиме под этим же пользователем панель свернута до минимума, но отображается. При наведении курсор не изменяется. Щелчок правой кнопки мыши проясняет ситуацию - выбран пункт “Закрепить панель задач“, причем он серый - заблокирован для изменения.

Как разблокировать пункт “Закрепить панель задач
http://otvety.google.ru/otvety/thread?tid=715c15c232fcf2ad&clk=wttpcts

1. Сравниваем файлы с файлами из дистрибутива:
C:\WINDOWS\System32\gpedit.dll
C:\WINDOWS\System32\fde.dll
C:\WINDOWS\System32\framedyn.dll

2. проверяем переменную PATH
(смотрим путь %SystemRoot%\System32\WBEM, закрывающие слэши)

3. перерегистрируем gpedit32.dll
regsvr32 /u %SystemRoot%\System32\gpedit32.dll
regsvr32 %SystemRoot%\System32\gpedit32.dll

После перезагрузки должна заработать оснастка “Групповая политика”

4. запускаем gpedit.msc,
Конфигурация пользователя - Административные шаблоны - Панель задач и меню Пуск
“Зафиксировать положение панели задач” = “Отключено”
(Значение “Не задано” почему-то не сработало)
5. перезапускаем Explorer

Опубликовано Февраль 12, 2008 | автор: levik  |  Комментарий (1) »