Свое описание препаратов для шопов Glavmed by Fred
Glavmed 9 ноября, 2009
1. Причины написания.
Главная причина – необходимость выразить благодарность Лаки за проделанную работу. Статьи его реально сэкономили мне время, может и мой опус кому-нибудь пригодится.
2. Задача.
Необходимо сделать добавление контента в описание препаратов на движке SE2 главмеда. Способ правки шаблонов работает, но он несколько прямолинеен и не универсален.
3. Теория.
Как известно (или неизвестно), все (т.е. абсолютно ВСЕ) данные по продаваемым лекарствам в главмедовском движке хранятся в виде XML файла. Насколько я успел разобраться (вникать особенно времени не было, поэтому поправлять меня можно и нужно), при установке движка, а также при выполнении операции ?xmlupdate через браузер происходит следующее:
- каждый препарат или группа препаратов, которые хранятся в файле data/data.xml извлекаются, преобразуются в ассоциативный массив;
- полученный массив сериализуется;
- сериализованный массив сохраняется в папке data с именем item.{ID}.ser или items_in_group.{ID}.ser.
Далее при работе движка обращение за данными по препарату или группе препаратов идет по id препарата или id группы соответственно к файлу item.{ID}.ser или items_in_group.{ID}.ser. Пытливый читатель спросит, что такое child.{ID}.ser, я отвечу так: это данные по подгруппам для тех препаратов, у которых есть несколько вариантов расфасовки.
4. Главная идея.
Мне не хочется лезть в шаблон каждый раз, когда у меня появляется новый, заказанный у Лаки
контент для очередного препарата. С другой стороны, мне нельзя править ser файлы в движке главмеда, ибо они не переживут обновления каталога. В таких нечеловеческих условиях приходится работать.
Выход есть. Когда в движке некая функция получает массив значений для препарата или группы, мне нужно вставить проверку на наличие измененных данных. Если они есть в наличии – значит заменить данные на мои, если нет – ничего не менять. И уже после этого возвращать данные из функции. Читать далее »
Оптимизация шопов Glavmed Part 4 + Бонус
Glavmed 20 июля, 2009
Add to cart
Сегодня повышал плотность ключевых слов на одном из шопов. Выражение Add to cart, которое выводится под каждым препаратом на главной из дефолтовых бестселлеров или же ваших препаратов, никак не позволяло мне добиться нужной плотности ключевых слов на главной шопа. Устранил проблему с часто повторяющимся выражением Add to Cart, поместив его в .jpg
Как сделал:
1. Ctrl+Print Screen, вырезал
, сохранил в .jpg *
2. Открыл /themes/моя тема/index.tpl
*По желанию можно не прятать текст Add to Cart в картинку, для скрытия бессмысленных повторов. Вместо Add to Cart пишем к примеру Order/Buy now, по вашему желанию и усмотрению, тем самым повышаем плотность по Buy и т.д Читать далее »
Теги: Glavmed 4
Статический Titile в шопах Glavmed.
Glavmed 17 июля, 2009
В дефолтовых шопах главмеда выводятся динамические тайтлы для всех страниц. Динамические тайтлы хороши при сливании трафика на шоп, но учитывая то, что я продвигаю шоп в SE, динамические тайтлы страниц меня не устраивают.
Приведу к примеру свой фарма шоп, который оптимизирован только под ED категорию. На главной странице шопа шесть бестселлеров ED, в категории Products всего 25 препаратов из дефолтовой категории Man’s Health, ко всему этому 4к оптимизированного контента под бестселлеры ED. Мне хотелось бы видеть на своем шопе статический тайтл, это же касается и других препаратов.
К примеру на странице с препаратом VPXL выводится следующий тайтл страницы: Special Offer: Phentrimine from $1.51 per pill. Почему бы нам не заменить данный динамический тайтл, на статический тайтл Buy VPXL Online?
Вспомним что в дефолтовом шопе главмеда 993 препарата, для каждого препарата писать статический тайтл не актуально. На форуме главмеда созданно очень много топиков по смене, уникализации тайтлов. Для того чтобы выводился свой статический тайтл на необходимых нам страницах, делаем следующее:
Glavmed – часть третья
Glavmed 18 марта, 2009
Кто не читал: Glavmed – часть первая, Glavmed – Часть вторая, советую прочитать перед началом прочтения третей части.
И так, вы зарегистрировались в Glavmed, установили шоп на свой хост. Что дальше!? Нам необходимо зарабатывать деньги, продавать пилюли. Я вижу два варианта:
- Сливать трафик на шоп доры, блоги, сплоги, сайты сателлиты и т.д
- Оптимизировать сайт и раскручивать его по ВЧ, СЧ, НЗ в SE.
Я выбрал второй вариант, оптимизации и продвижения шопа в поисковых системах. Ранее я писал, что выбрал движок SE2. Для продвижения в SE я постарался максимально его оптимизировать.
Что я сделал до написания третей части:
1. Написал robots.txt для SE2
# Еще добавил запрет на /?cv= выбор оплаты, так как он приведет робота к 4 языковым версиям шопа. Если не запретил бы, противоречил бы сам себе, так как до этого я запретил роботу индексировать сайт на других языках /?lng=X&cv=X
2. Добавил нужное количество оптимизированного текста на главную шопа.
Сейчас сделал еще пару важных моментов, которые будут мне необходимы для дальнейшей оптимизации, о которых я сегодня написал:
1. Количество отображаемых продуктов на главной шопа, и их замена на желаемые.
2. Свое описание продуктов.
3. Вывод одной категории продуктов в меню на главной, на примере ED
Многие зададутся вопросом, зачем все это делать!? Ведь многие продвигаю и так, и без robots.txt и так далее.
К примеру дефолтовый шоп состоит из 993 продуктов и Куевы тучи страниц. Представьте сколько веб мастеров работает с главмедом, сколько проиндексированных дефолтовых шопов в индексе SE!?
Я не решился на оптимизацию дефолтового шопа, а именно на оптимизацию 993 страниц с продуктами. Только задумался, сколько мне потребуется денег для перевода уникального контента, и маму я свою люблю.
Продвигать шоп, просто так с бухты-барахты считаю немного не разумно. Но если у вас есть постоянные продажи в отличии от меня, и вы не оптимизировали свой шоп, я искренне за вас РАД, желаю удачи, да побольше продаж!
Другое дело если лить траф на шоп, доров и так далее. Милое дело, в отличии от продвижения в SE!
Я создам пять шопов в главмеде, которые уверен в ближайшем будущем начнут радовать Лаки.
1. Шоп со всеми ED препаратам
2. Шоп со всеми Антидепрессантами
3. Шоп по Weight Loss
4 -5 Шопы будут содержать все 993 продукта.
Первые 3-и шопа разбиты по категориям как заметили. В каждом шопе будут отображены продукты данной категории. К примеру Weight Loss содержит 41 продукт, значит в шопе будет только 41 препарат. Вполне реально оптимизировать от А до Я. Под оптимизацией шопа от А до Я я подразумеваю: написание полного дескрипшина для каждого продукта, уникального контента, и всех действий которые я описывал в предыдущих постах о главмеде и блоге.
Возможно у вас возникнет вопрос: А если покупатель попадет на мой шоп по Weight Loss продуктам и захочет купить не Фентермин, а Ампицилин!? А его нет у меня в шопе, так как шоп заточен под Weight Loss препараты, засада, теряешь Лаки клиента!
Моё мнение: если я продвигаю шоп по Weight Loss, значит и трафик будет по Weight Loss продуктам. Помимо этого можно повесить привлекающие баннера основных аптек. Я не думаю что человек который хотел купить Амипицилин попадет с SE в мой шоп по Weight Loss.
Возвращаюсь к оптимизации:
1. Количество отображаемых продуктов на главной шопа, и их замена на желаемые.
Мне это было крайне необходимо, так как для шопов по категориям написан уникальный оптимизированный контент, соответственно и продукты из категории должны отображаться на главной соответствующие контенту. Перечитал форум, искал везде, не нашел. Начал пытаться сам, не получалось у меня с выводом желаемых препаратов на главную, вместо Bestseller-ов. Помог мне во всем Егор, суппорт Glavmed-а по SE2, за что ему большой респект.
Какие были сделаны изменения:
1. В конфиг файле _cnf/default.cnf.php добавлен параметр
$SDATA['INDEX_ITEMS'] = array(156,3739,3740,267); – #сюда добавляем ID продукта, который должен отобрадаться на главной шопа.
2. В core/modules/item.module.cls.php добавлена функция
function index_items(&$data){
global $SDATA;
if(array_key_exists(‘var_name’,$data)) $var_name = $data['var_name'];
$arr = $SDATA['INDEX_ITEMS'];
$this->core->smarty->assign($var_name,$arr);
return ”;
}
Благодоря этой функцие в теме themes/white2/index.tpl массив с ID вызывается стандартно
{:se_module module=”item” action=”index_items” var_name=”index_items”:}
Можете скачать этот архив, в нем 3-и измененых файла. Редактируем, настраиваем под себя. Заливаем и наслаждаемся. Вывод продуктов и их количесвто изменяем в конфиг файле “Пункт-1″.
Теперь есть возможность вывода нужных нам продуктов на главной в SE2, вместо вывода продуктов бестселлеров.
2. Свое описание для продуктов
У вас имеется в наличии свой уникальный, оптимизированный контент для продуктов. Чтобы изменить ввывод дескрипшина продукта можно отредактировать data.xml, но этого делать не стоить! При будующих обновлениях возникнет множество проблем.
Нам необходимо запретить ввывод стандартного дескрипшиона из data.xml и подключить свой дескпришн для нужного нам ID
Создаем к примеру папку в themes/ваша тема/desc #desc – ваша папка
Каждый продукт имеет свой ID. К примеру у таблетки Cialis ID=156. Создаем в нашей папке файл 156.tpl, в него копируем наш оптимизированный текст, сохраняем.
Открываем themes/ваша тема/intem.tpl находим:
<div id="informer1" class="text"> {:if $item_data.Drug_name != '':}<strong>{:$LANG_CONSTS.DRUG_NAME:}</strong>{:$item_data.Drug_name:} {:/if:} {:if $item_data.Drug_Uses != '':}<strong>{:$LANG_CONSTS.DRUG_USES:}</strong>{:$item_data.Drug_Uses:} {:/if:} {:if $item_data.How_Taken != '':}<strong>{:$LANG_CONSTS.HOW_TAKEN:}</strong>{:$item_data.How_Taken:} {:/if:} {:if $item_data.Drug_Class_and_Mechanism != '':}<strong>{:$LANG_CONSTS.DRUG_CLASS_AND_MECHANISM:}</strong>{:$item_data.Drug_Class_and_Mechanism:} {:/if:} {:if $item_data.Missed_Dose != '':}<strong>{:$LANG_CONSTS.MISSED_DOSE:}</strong>{:$item_data.Missed_Dose:} {:/if:} {:if $item_data.Storage != '':}<strong>{:$LANG_CONSTS.STORAGE:}</strong>{:$item_data.Storage:} {:/if:}</div>
Заменяем на:
<div id="informer1" class="text"> {:if $item_data.id==156:} {:include file="desc/`$item_data.id`.tpl":} {:else:} {:if $item_data.Drug_name !='':}<strong>{:$LANG_CONSTS.DRUG_NAME:}</strong>{:$item_data.Drug_name:} {:/if:} {:if $item_data.Drug_Uses != '':}<strong>{:$LANG_CONSTS.DRUG_USES:}</strong>{:$item_data.Drug_Uses:} {:/if:} {:if $item_data.How_Taken != '':}<strong>{:$LANG_CONSTS.HOW_TAKEN:}</strong>{:$item_data.How_Taken:} {:/if:} {:if $item_data.Drug_Class_and_Mechanism != '':}<strong>{:$LANG_CONSTS.DRUG_CLASS_AND_MECHANISM:}</strong>{:$item_data.Drug_Class_and_Mechanism:} {:/if:} {:if $item_data.Missed_Dose != '':}<strong>{:$LANG_CONSTS.MISSED_DOSE:}</strong>{:$item_data.Missed_Dose:} {:/if:} {:if $item_data.Storage != '':}<strong>{:$LANG_CONSTS.STORAGE:}</strong>{:$item_data.Storage:} {:/if:} {:/if:}</div>
{:if $item_data.id==156:} {:include file="desc/`$item_data.id`.tpl":}
Таким образом подключаем наш оптимизированный дескрипшин для ID-156 Cialis находящегося в папке themes/ваша-тема/desc/156.tpl
При переходе к препарату Cialis будет выводится содержание файла 156.tpl, в данном случае название файла 156.tpl и есть ID продукта. Каждый ID – разный продукт, разное описание
Как правильно перечислить несколько описаний для препаратов, как их правильно записать. Вторая строка:
{:if $item_data.id==156 or $item_data.id==XXX or $item_data.id==XXX:}$item_data.id==XXX, где XXX – ID товара, $item_data.id==XXX – повторяем необходимое количество раз.
3.Вывод одной категории продуктов в меню на главной, на примере ED
Я хочу отказаться от всех категорий с таблетками, мне необходима только одна категория с ED пилюлями в меню шопа, это необходимо для дальнейшей оптимизации и продвижения шопа в SE. Чтобы удалить все категории с шопа и оставить к примеру только категорию с ED открываем:
themes/ваша тема/modules/navigation_main.module.cls.php
Удаляем всё, и вставляем следующий код:
{:se_module module="item" action="group_data" group_id=152 var_name="b_group":} <div class="lmLinkGroup"> <a class="act" href="{:se_module module=">{:se_module module="langs" action="langGroup" group_id=152:}</a> {:foreach name=items key=key item=item from=$b_group.items:} {:if $item.bundle != true:} <div class="lmLinkItem"><a href="{:se_module module=">{:$item.name:}</a></div> {:/if:} {:/foreach:}</div>
Таким образом у нас на главной будет отображаться только раздел ED.
Надеюсь данная статья будет полезна вам, жду ваших комментариев!
Еще оформил патч устраняющий проблему c register_globals при установке Osc
Теги: Glavmed 3



