Если после этого все-равно ничего не получается, то подскажу несколько примеров использования данной утилиты
1. Узнать общее количество места на дисках:
Вчера возникла необходимость передать свою виртуальную машину, с которой я работаю другому работнику. Причина была в том, что у него после ребута посыпалась файловая система. После нескольких попыток реанимации было принято решение об экспорте/импорте моей виртуалки.
Все успешно перенесли, но осталась необходимость сбросить SVN credentials в FreeBSD, чтобы он не комитил под моим именем. Все оказалось достаточно просто, т.к. все креденшелы лежат в папке .subversion/auth/svn.simple. Удаляем нужный файл/запись и все. При следующем операции с репозиторием необходимо будет ввести новые авторизационные данные.
Читать далее
Есть такие составляющие
1. Сервер на FreeBSD с проектами, которые расшарены по самбе
2. Установленный PHPUnit 3.5.14
3. phpStorm с проиндексированными проектами. Работую через самбу
На данный момент я запускаю интеграционные тесты из консоли командой
phpunit
Что я хочу: настроить запуск текстов из IDE. В чем проблема: phpUnit и php находятся на виртуальной машине. Тоесть, IDE не может к ним подключиться.
Есть у кого варианты решения кроме создания симлинков и добавления прав на чтение?
Читать далее
Взял на прошлой неделе в рабочей библиотеке книгу Эффективная работа с унаследованным кодом. На выходных получилось ее только пролистать, а вот вчера руки дошли до полноценного читательного процесса. Что я могу сказать? В книге очень много нового для меня, но в то же время я вижу много воды, неправильные термины. Например, модульное тестирование называется блочным. Читать книгу скучно. Но я планирую пропускать воду и находить только интересные моменты. Посмотрим что из этого получится.
Это вторая техническая книга с подобным переводом, которая попадает мне в руки. Первой была CMS Drupal 6. Но там все вообще было грустно, так как функции "кладут обратно правду" (return true).
Читать далее
Javascript валидация не является основной проверкой введенных данных пользователями, но ее использование необходимо для повышения юзабилити сайта. Кроме того, уменьшается количество запросов на сервер и повышается его производятельность, т.к. первичная валидация происходит у пользователя в браузере. У Magento есть своя удобная валидация, о которой сегодня и пойдет речь.
Javascript валидация в Magento
Для валидации форм в Magento используется файл form.js (js/varien/form.js), в котором находятся все необходимые Javascript функции. Во время валидации используется класс Validation, который является частью Javascript библиотеки Prototype. Его работа заключается в проверке определенных html-классов. Каждое имя класса говорит валидатору какой тип проверки можно использовать.
Учимся валидировать
Добавить Javascript валидацию для вашей формы очень просто. Во-первых, необходимо создать объект Form (form.js), который будет с ней работать.
Первый параметр в это примере является ID вашей формы. Второй параметр определяет стоит ли делать фокус на первом input-элементе. Если он определен как true, то курсор будет автоматически переведен на первый input-поле. Вы можете отключить данную функциональность, устанавливая второй параметр как false.
Теперь, когда вы создали Javascript объект, который определяет форму, необходимо добавить валидационные правила в ваши input-поля.
Классы 'required-entry' and 'validate-email' отвечают за валидацию полей. Если любое из них ее не пройдет, то форма не будет отправлена, а пользователь увидит специальные сообщения об ошибках.
Magento Javascript Validation Classes
Существует много валидационных классов. Я нашел вот такой список. Под классами описаны ошибки, которые показываются пользователи в случае фейла валидации. Для большей информации используйте Google, экспериментируйте с кодом или связывайтесь со мной.
validate-select
Please select an option
required-entry
This is a required field
validate-number
Please enter a valid number in this field
validate-digits
Please use numbers only in this field. please avoid spaces or other characters such as dots or commas
validate-alpha
Please use letters only (a-z or A-Z) in this field.
validate-code
Please use only letters (a-z), numbers (0-9) or underscore(_) in this field, first character should be a letter.
validate-alphanum
Please use only letters (a-z or A-Z) or numbers (0-9) only in this field. No spaces or other characters are allowed
validate-street
Please use only letters (a-z or A-Z) or numbers (0-9) or spaces and # only in this field
validate-phoneStrict
Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890
validate-phoneLax
Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890
validate-fax
Please enter a valid fax number. For example (123) 456-7890 or 123-456-7890
validate-date
Please enter a valid date
validate-email
Please enter a valid email address. For example johndoe@domain.com.
validate-emailSender
Please use only letters (a-z or A-Z), numbers (0-9) , underscore(_) or spaces in this field.
validate-password
Please enter 6 or more characters. Leading or trailing spaces will be ignored
validate-admin-password
Please enter 7 or more characters. Password should contain both numeric and alphabetic characters
validate-cpassword
Please make sure your passwords match
validate-url
Please enter a valid URL. http:// is required
validate-clean-url
Please enter a valid URL. For example http://www.example.com or www.example.com
validate-identifier
Please enter a valid Identifier. For example example-page, example-page.html or anotherlevel/example-page
validate-xml-identifier
Please enter a valid XML-identifier. For example something_1, block5, id-4
validate-ssn
Please enter a valid social security number. For example 123-45-6789
validate-zip
Please enter a valid zip code. For example 90602 or 90602-1234
validate-zip-international
Please enter a valid zip code
validate-date-au
Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006
validate-currency-dollar
Please enter a valid $ amount. For example $100.00
validate-one-required
Please select one of the above options.
validate-one-required-by-name
Please select one of the options.
validate-not-negative-number
Please enter a valid number in this field
validate-state
Please select State/Province
validate-new-password
Please enter 6 or more characters. Leading or trailing spaces will be ignored
validate-greater-than-zero
Please enter a number greater than 0 in this field
validate-zero-or-greater
Please enter a number 0 or greater in this field
validate-cc-number
Please enter a valid credit card number.
validate-cc-type
Credit card number doesn't match credit card type
validate-cc-type-select
Card type doesn't match credit card number
validate-cc-exp
Incorrect credit card expiration date
validate-cc-cvn
Please enter a valid credit card verification number.
validate-data
Please use only letters (a-z or A-Z), numbers (0-9) or underscore(_) in this field, first character should be a letter.
validate-css-length
Please input a valid CSS-length. For example 100px or 77pt or 20em or .5ex or 50%
validate-length
Maximum length exceeded Читать далее
Ура! Я знал что этот момент когда-нибудь настанет. 3.5 месяца моего пребывания на испытательном сроке позади. Теперь я полноправный сотрудник Magento, Inc., an eBay Company (X.Commerce). Спасибо всем кто причастен к этому :)
Читать далее
Некоторым известно, что я поддерживаю ресурс http://videobzor.com. Проект сугубо аматорский и не подразумевает пока что какой-либо финансовой выгоды. Сначала он ресурс проектировался как склад видеобзоров на различную тематику, но со временем все свелось к узконаправленному ресурсу с видео тест-драйвов. В начале сентября я забросил его, но посещаемость держалась на уровне 100-150 хосто в день. В начале сентября она упала ниже 100 хостов и я решил поднять ее, начал обновлять сайт. В результате, посещаемость начала расти. Пиком стало 200 хостов, после чего все выровнялось на свои стандартные ~150 хостов/день. Думаю менять дизайн и что-то в структуре. Есть пожелания?
Читать далее
Встроенное кеширование Magento очень полезно для быстродействия, но мешает нормальной разработке под эту систему. Сегодня я расскажу об его выключении.
Для его выключения нужно пройти в админку и зайти в System => Cache Management
У вас загрузится страничка с примерно таким содержанием
Выбираете все типы кеша и ставите им disable status
Для чистки кеша можно нажать на кнопку Flush Magento Cache или удалить (очистить) папку var/cache. Не волнуйтесь, в случае ее удаления, она снова создастся в файловой системе.
Внимание! Если вы запретили использования кеша в админке, то это не еще факт что он у вас не создается ;) Так что при каких-либо проблемах при девелопменте под Magento, не забывайте очищать кеш. Читать далее
На прошлой работе долго искал GTD программу для Windows или веб-клиент + клиенты под iOS. В результате, ничего подходящего не нашел. И вот сегодня я нашел такой сервис: Flow.
Заходим на сайт и сразу видим они могут нам предложить
Внутри нас ожидает полноценное веб-приложение, которое позволяет привести в порядок все свои домашние/рабочие дела. Думаю, сервис подойдет для небольших команд (до 10 человек). Интерфейс очень напоминает Things, который в свою очедь потерял множество покупателей из-за отсутствия веб-версии.
Напоследок хочу предупредить, что сервис платный. Цена составляет 9.99$/месяц или 100$/год. Согласитесь, это не большая цена за порядок в голове.
Читать далее
Сейчас работаю с платежной системой Zuora. Вчера возникла проблема с сохранением кастомных атрибутов на сервере. Проблема заключалась в том, что атрибут не сейвился у определенного объекта. Общаемся мы с помощью стандартного SoapClient. После просмотра реквеста, оказалось что данный атрибут даже не отправляется на сервис, т.к. SoapClient() юзал не отредактированный WSDL, а из кеша.
Чтобы очистить кеш, нужно прописать:
ini_set("soap.wsdl_cache_enabled", 0);
или
$client = new SoapClient('http://somewhere.com/?wsdl', array('cache_wsdl' => 0));
Среди новых функциональностей, введенных в Magento 1.4.1.0, появились "Billing Agreements" и "Recurring Profiles".
Но они не всегда нужна, а отключить их из админки не является возможным.
Для скрытия ссылок с блока навигации кастомера в "My Account", вы можете скопировать billing_agreement.xml и recurring_profile.xml с /app/design/frontend/base/default/layout/sales/ в /app/design/frontend/default/yourtheme/layout/sales/.
После копирования файлов в их новое месторасположение вы должны отредактировать их. Найдите следующий код в billing_agreement.xml:
billing_agreementssales/billing_agreement/
Замените его на:
Найдите следующий код в recurring_profile.xml:
recurring_profilessales/recurring_profile/
Замените его на:
Внимание! С помощью этих действий вы только удалите ссылки с блока навигации, но не отключите функциональность.
Читать далее
Последние 2 месяца работа с (и на) Magento. За все это время мне встречались многие интересные моменты, о которых я хотел рассказать, но не было желания и места. В пятницу я вспомнил об этом блоге, который задумывался как "быдлокодерский". Его и продолжу.
Ура! У меня с сегодняшнего дня есть VDS от ИТЛ с родненькой FreeBSD на борту. А это означает что я буду вспоминать свое счастливое админское детство и постить разные штуки для FreeBSD ^_^
Читать далее
Месяц назад я стал обладателем iPad. Я не буду рассказывать о всех прелестях и перспективах данного продукта, т.к. для этого есть специализированные обзоры.
Наверняка, каждый веб-разработчик захочет кастомизировать свой дизайн под посетителей с "таблетками". Поскольку user agent сего девайса имеет вид:
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10