Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
SEO addon: динамический футер, вывод кейвордов после/весто длинного описания
skylander
post Jan 13 2010, 03:09 PM
Post #1


RX-Partners prog
***

Group: Super Moderator
Posts: 42
Joined: 17-December 08
Member No.: 1,756



всё больше и больше людей спрашивают о том,
как сделать динамический футер у страницы продукта:

всё очень и очень просто smile.gif
надо создать файлик с темплейтом футера, при том можно для каждого языка сделать свой темплейт с специфическими кейвордами и фразами для данного языка/страны - в примере который вы видите чуть выше - UK и соответственно кейворды нацеленые на великобританскую публику.

итак - создаём темплейт футера - lang/en/product_footer.php
пишем там внутри что угодно, например:

(код публиковать текстом не буду - пишите всё сами от руки, а то накопипастите одного и того же и фитча весь смысл потеряет)

как вы видите внутри темплейта активно заюзан php-код - вывод названия таблетки (viagra), титла таблетки (Generic Viagra) и активного вещ (sildenafil), а так же вывод урла на страницу и урла на главную стр шопа.
если допустите какие-то ошибки в php коде - всё сломается, вероятно вы увидите белую большую такую пустую страничечку, будте внимательны!

дальше - подключаем этот футер к функции вывода данных по таблетке, например (как в первом скрине) подключаем футер-темплейт после длинного описания:
ищем в файле .htclasses/Page.class.php фунуцию draw_product_page() и в самом конце её видим следующие строки:
Код
                $this->draw_filetext_editable('descr/'.$name, array('item' => 'main'));
                $this->draw_filetext_editable('product_footer', array('id' => 'product_footer'));
                echo '«/td>«/tr>«/table>';

дальше можете либо заменить длинное описание на темплейт, либо (как в моём примере) выводить темплейт после длиного описания, для этого после строки «$this->draw_filetext_editable('product_footer', array('id' => 'product_footer'));» прописываем подключение нашего футера «include 'lang/'.$this->_cart->_lang->id().'/product_footer.php';» - в данном случае для разных языков будет подключаться персональный футер и вы можете разделить даже UK, US и EU, прописав для них разные темплейты (соотв для UK темплейт будет внутри lang/en, для US внутри lang/us и для EU в lang/eu - lang/us и lang/eu фактически пустые языковые директорие предусмотренные именно для такого случая.

в конечном итоге ваша функция draw_product_page() внутри .htclasses/Page.class.php будет выглядеть примерно так:

кто захочет, тот разберётся и сделает smile.gif
кто захочет, но поленится - не очень вам значит это нужно.
мистеры кривые ручки (ситуация с белым экранчиком) по айсикью итд не принимаются! сам сломал - сам чини smile.gif

аккуратные, старательные и хитрые вебмастера же получют этим постом в своё владение бесценную фичу smile.gif

enjoy!

ps. возможны незначительные отличия в тексте функции выводящей страницу продукта, также возможно она будет в некоторых темплейтах в файле PresetPage.class.php, если не найдёте - пишите в топик, решим.
Go to the top of the page
 
+Quote Post
skylander
post Jan 13 2010, 03:25 PM
Post #2


RX-Partners prog
***

Group: Super Moderator
Posts: 42
Joined: 17-December 08
Member No.: 1,756



например в indiangenerics функция draw_product_page() находится в .htclasses/PresetPage.class.php и выглядит немного иначе, чем в примерах выше:

в данном случае мы выводим динамический блок перед кнопкой «Product info» которая выводит длинное описание по клику, вот например так будет выглядить этот блок на странице с тамифлёй:

Go to the top of the page
 
+Quote Post
dima
post Feb 2 2010, 11:31 AM
Post #3


Stimul Cash Team
**

Group: Administrators
Posts: 15
Joined: 12-October 09
Member No.: 2,250



поправка:
если не работает на англ. языке с долларами, попробуйте создать директорию lang/en-us/ и там создавать файл product_footer.php
Go to the top of the page
 
+Quote Post
skylander
post Feb 4 2010, 03:19 PM
Post #4


RX-Partners prog
***

Group: Super Moderator
Posts: 42
Joined: 17-December 08
Member No.: 1,756



Цитата (dima @ Feb 2 2010, 02:31 PM) *
поправка:
если не работает на англ. языке с долларами, попробуйте создать директорию lang/en-us/ и там создавать файл product_footer.php

а лучше создать директорию en-us и положить туда свой уникальный product_footer.php и заточить его под USA
(тоже касается eu)
Go to the top of the page
 
+Quote Post
nikki nag
post Mar 20 2010, 09:30 PM
Post #5


Newbie
*

Group: Members
Posts: 1
Joined: 6-March 10
Member No.: 2,565



Здесь, выше рассмотрен случай, когда футер выводится вместе с описанием Product info или без него вообще.
А возможно ли, в en-us выводить футер с описанием таблетки, а в остальных языковых разделах - только сам футер(без текста)?
Go to the top of the page
 
+Quote Post
dima
post Mar 22 2010, 09:17 AM
Post #6


Stimul Cash Team
**

Group: Administrators
Posts: 15
Joined: 12-October 09
Member No.: 2,250



можно все smile.gif
вы всегда можете в любом месте поставить условие:

CODE
if ($this->_cart->_lang->id() == 'en-us') {
    $Page->draw_filetext_editable('descr/short-'.$Product->name(false),array('item' =>'short', 'id' =>urlencode(strtolower('product-'.$Product->name(false))))); // поключение описания таблетки
}
include 'lang/'.$this->_cart->_lang->id().'/product_footer.php';  // поключение футера


в результате для en-us будет выводиться футер вместе с описанием, а для остальных только футер
если хотите убрать длинное Product Info закоментируйте в draw_product_page() следующую строку:

CODE
$this->draw_filetext_editable('descr/'.$name, array('item' => 'main'));
Go to the top of the page
 
+Quote Post

Fast ReplyReply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 10th September 2010 - 01:55 PM