система онлайн-бронирования
г. Донецк, Украина, ул. Артёма, 87
+38 (062) 332 33 32, 332-27-71
ЗАБРОНИРОВАТЬ
НОМЕР

Статьи

Як змінити xfsearch в DLE DataLife Engine. SEO для доп.полей DLE.

  1. Що таке додаткове поле в DataLife Engine
  2. Перехресні посилання в доп. полях
  3. Міняємо xfsearch в URL сторінок перехресних посилань в доп. полях на назву доп поля. + Сторінки пагінацію
  4. Міняємо метатег TITLE на сторінках тегів і додаткових полів
  5. Як розмістити текст опису на сторінках доп. полів в DLE
  6. Модуль для SEO оптимізації доп. полів в DLE

Доброго часу доби, дорогі читачі блогу Мої таргани!

xfsearch в DataLife Engine

Сьогодні, вперше, в моєму блозі піде мова про систему управління сайтом DataLife Engine (DLE). Точніше не про сам DLE а конкретно про виведення додаткових полів і різні способи зміни xfsearch в URL на що то більш підходяще. Для тих, хто не знайомий з цим движком, написане нижче буде абсолютно незрозумілим, але для тих, хто в темі, даний пост, думаю, буде навіть дуже корисний. Хоча, можливо, і той, хто звик працювати з WordPress знайде для себе що ні будь цікаве.

Пост вийшов досить громіздкий, тому я зробив зміст для навігації.

1. Що таке додаткове поле .
2. Що таке перехресні посилання в доп. полях.
3. Міняємо xfsearch в URL сторінок перехресних посилань в доп. полях на назву доп поля. + Сторінки пагінацію.
4. Міняємо метатег TITLE на сторінках тегів і додаткових полів
5. Як розмістити текст опису на сторінках доп. полів в DLE
6. Модуль для SEO оптимізації доп. полів в DLE (схожий на TagFace)

Давно я не писав таких об'ємних статей, в принципі, я взагалі давно не писав, а тут ТАКЕ. Останній раз щось подібне було це пост про відновленні Хрома а до цього поради по відновленню даних після переустановлення Вінди . Сподіваюся мій мануальчік вам стане в нагоді.

Що таке додаткове поле в DataLife Engine

І так, для початку давайте розберемося, що собою представляють додаткові поля в DLE. Додатковими полями можна назвати розширення для більш зручного додавання матеріалів на сайт. Якщо заглянути на сторінку додавання новини, ми виявимо, що там вже існує кілька полів. Це заголовок, дата, категорія, коротка новина, повна новина і т.д.

Можливості даного движка передбачають додавання власних полів. Візьмемо, наприклад, який не будь кіносайт (DLE найбільше підходить для створення сайтів регіону сайтів). Як я вже говорив, у нас вже є короткий опис (виводиться в стрічці новин) і повний опис повної сторінці матеріалу. Але крім опису ми хочемо вказати режисера фільму, акторський склад, рік випуску і зробити це так щоб ці рядки візуально відрізнялися від усього опису. Для цього й існують додаткові поля. Ми створюємо додаткове поле, вставляємо його в шаблон, форматіруем за потрібне нам чином (застосовуємо стилі) а в адмінці тільки підставляємо свої значення для кожного матеріалу. Таким чином, ми позбавляємо себе від введення і форматування однотипної інформації.

Перехресні посилання в доп. полях

(До змісту?)
Перехресні посилання в доп полях це майже те ж саме що, всім відомі, теги, тільки генерується напівавтомат. Як це працює? Якщо в налаштуваннях поля вказати «Використовувати значення полів як перехресні гіперпосилання» то значення доп. полів будуть виводиться у вигляді посилань на показ інших публікацій, які мають такі ж значення. Наприклад, якщо в поле режисер (беремо наприклад все той же кіно-сайт) ви вкажете Леонід Гайдай, то на сайті ця інформація відобразиться у вигляді посилання на стрічку новин які мають таке ж значення, тобто на фільми де ви в поле «режисер »вказали слово« Гайдай ».

Міняємо xfsearch в URL сторінок перехресних посилань в доп. полях на назву доп поля. + Сторінки пагінацію

(До змісту?)
Голову зламав поки визначився як правильно сформулювати заголовок :). Але все не так лякає, як можна подумати прочитавши підзаголовок. Суть в наступному: Наприклад, на нашому кіносайте є доп поле «рік виходу» або «режисер фільму» (або обидва цих поля одночасно) і ви для нього використовуєте перехресні посилання, то URL сторінки на якій виводяться записи по доп. полю мають такий вигляд:

www.site.ru / xfsearch / 2015 або www.site.ru / xfsearch / Леонід + Гайдай

Ось це саме xfsearch псує зовнішній вигляд URL, до того ж і для року виходу і режисера фільму буде один шлях в URL. Виходить як якась незрозуміла категорія - xfsearch. Погодьтеся це не зовсім правильно.

Вихід - замінити xfsearch на назву доп поля. Наприклад, якщо для виведення року випуску фільму доп поле у вас має назву year а для режисера зняв цей фільм rejiser, то замінивши xfsearch на назви цих полів вид URL буде наступний:

www.site.ru / year / 2015 і www.site.ru / rejiser / Леонід + Гайдай
Як це реалізувати? Якщо погуглити (дивне слово, я наприклад Гугла Яндексі :)) знайдеться маса сайтів (практично всі з ТОП 10 видачі), які, посилаючись один на одного, описують один і той же хак. Хак робочий, але є одне АЛЕ. Якщо у вас, тому доп. полю є багато статей (наприклад, фільмів 2015 року) то, швидше за все у вас з'являться сторінки пагінацію. І на сторінках пагінацію назву доп поля в URL зміниться на стандартне xfsearch.

www.site.ru / xfsearch / 2014 / page / 2 /

Погуглити трохи глибше (трохи це слабо сказано) я знайшов хак, який буде нормально працювати і на сторінках пагінацію. Ось сам хак:

Відкриваємо файл engine.php і знаходимо наступний код:

$ Url_page = $ config [ 'http_home_url']. "Xfsearch /". urlencode (str_replace ( " '", "'", $ xf));

Замінюємо на:

$ Url_page = $ config [ 'http_home_url']. urlencode ($ _ GET [ 'xn']). "/". urlencode (str_replace ( " '", "'", $ xf));

У файлі .htaccess шукаємо

RewriteRule ^ xfsearch / ([^ /] *) (/?) + $ Index.php? Do = xfsearch & xf = $ 1 [L] RewriteRule ^ xfsearch / ([^ /] *) / page / ([0-9] + ) (/?) + $ index.php? do = xfsearch & xf = $ 1 & cstart = $ 2 [L]

Нижче вставляємо:

RewriteRule ^ (назва доп поля1, нап. Year) / ([^ /] *) (/?) + $ Index.php? Do = xfsearch & xn = $ 1 & xf = $ 2 [L] RewriteRule ^ (назва доп поля1, нап. Year ) / ([^ /] *) / page / ([0-9] +) (/?) + $ index.php? do = xfsearch & xn = $ 1 & xf = $ 2 & cstart = $ 3 [L] RewriteRule ^ (назва доп поля2 , нап. rejiser) / ([^ /] *) (/?) + $ index.php? do = xfsearch & xn = $ 1 & xf = $ 2 [L] RewriteRule ^ (назва доп поля2, нап. rejiser) / ([^ / ] *) / page / ([0-9] +) (/?) + $ index.php? do = xfsearch & xn = $ 1 & xf = $ 2 & cstart = $ 3 [L]

Посилання на джерело хака.

Добре продумайте назву для доп.поля, щоб воно нормально виглядало в URL. Будьте уважні! Якщо ви почали наповнювати сайт і в процесі роботи вирішили поміняти назву доп. поля всі дані які були введені раніше будуть втрачені!


Міняємо метатег TITLE на сторінках тегів і додаткових полів

(До змісту?)
Скажу відразу даний хак підійде не всім. Його зручно використовувати якщо у вас на сійте тільки одне додаткове поле (наприклад, все той же, режисер) а для тегів до фільму ви використовуєте один параметр (наприклад, якщо у вас все-таки кіносайт, ви використовуєте рік виходу на екран) - цей варіант підійде чудово.

Для того щоб поміняти Title на сторінках тегів потрібно відкрити файл engine / engine.php, знайти рядки:

elseif ($ do == 'tags') $ nam_e = stripslashes ($ tag); elseif ($ do == 'xfsearch') $ nam_e = $ xf;

І замінити їх на свій варіант, приблизно так:

elseif ($ do == 'tags') $ nam_e = "Фільми". $ xf "року"; elseif ($ do == 'xfsearch') $ nam_e = "Режисер фільму". $ tag .;

Я, наприклад, використовував його лише для сторінок тегів.

elseif ($ do == 'tags') $ nam_e = 'Список фільмів з тегом "'. $ tag. '"';

Тепер у мене на сайті тайтл сторінки тега, наприклад, «пригоди» виглядає так:

Список фільмів з тегом "пригоди" >> Site.RU - дивіться онлайн кращі фільми в інтернеті!
замість
пригоди >> Site.RU - дивіться онлайн кращі фільми в інтернеті!

Як розмістити текст опису на сторінках доп. полів в DLE

(До змісту?)
Скажімо на сторінці, де виводяться новини по xfsearch Леонід Гайдай (ми вже знаємо, як замінити xfsearch на rejiser), ми вирішили вивести невеличкий текст, який розповідає про життя і творчість цього великого кіно художника.

Відкриваємо файл «templates.class.php» знаходиться він за адресою «/ engine / classes»

Знаходимо в ньому:

$ This-> copy_template = $ this-> template; $ This-> template_parse_time + = $ this-> get_real_time () - $ time_before;

ВИЩЕ цього вставляємо:

if (strpos ($ this-> template, "{request =")! == false or strpos ($ this-> template, "[request =")! == false) {preg_match_all ( "# [\ {\ [ ] request = [ ' "] (. +?) ['"] # is ", $ this-> template, $ matchs, PREG_PATTERN_ORDER); $ Matchs = ((isset ($ matchs [1]) and is_array ($ matchs [1]))? $ Matchs [1]: array ()); $ Matchs = array_unique ($ matchs); foreach ($ matchs as $ match) {$ vmatch = explode ( '=', $ match); $ Amatch = explode ( '->', $ vmatch [0]); $ Value = $ _REQUEST; foreach ($ amatch as $ imatch) $ value = (($ value and isset ($ value [$ imatch]))? $ value [$ imatch]: false); if ((isset ($ vmatch [1]) and (is_array ($ value) and in_array ($ vmatch [1], $ value) or $ vmatch [1] == $ value)) or (! isset ($ vmatch [ 1]) and $ value)) {$ this-> template = preg_replace ( "# \ {request = [ '"] {$ vmatch [0]} [' "] \} # is", (is_array ($ value) ? 'array': $ value), $ this-> template); $ This-> template = preg_replace ( "# \ [request = [ '"] {$ vmatch [0]} [' "] \] (. +?) \ [/ Request \] # is", '\ 1' , $ this-> template); $ This-> template = preg_replace ( "# \ [request = [ '"] {$ vmatch [0]} = {$ vmatch [1]} [' "] \] (. +?) \ [/ Request \] #is ", '\ 1', $ this-> template); } Else {$ this-> template = preg_replace ( "# \ {request = [ '"] {$ vmatch [0]} [' "] \} # is", '', $ this-> template); $ This-> template = preg_replace ( "# \ [request = [ '"] {$ vmatch [0]} [' "] \] (. +?) \ [/ Request \] # is", '', $ this-> template); $ This-> template = preg_replace ( "# \ [request = [ '"] {$ vmatch [0]} = {$ vmatch [1]} [' "] \] (. +?) \ [/ Request \] #is ", '', $ this-> template); }}} If (strpos ($ this-> template, "{request}")! == false) {var_dump ($ _ REQUEST); $ This-> template = str_replace ( '{request}', '', $ this-> template); }

Тепер відкриваємо файл шаблону main.tpl

У місці де у вас повинен бути текст, потрібно вставити:

[Aviable = xfsearch] [request = "xf = Леонід + Гайдай"] Тут текст про великого Леоніда Гайдая [/ request] [/ aviable]

Якщо ви хочете що б текст був тільки на першій сторінці і не відображався на сторінках пагінацію, то вам потрібно вставити такий код:

[Aviable = xfsearch] [page-count = 1] [request = "Леонід + Гайдай"] Тут текст про великого Леоніда Гайдая [/ request] [/ page-count] [/ aviable]

Врахуйте! Напевно код [aviable = xfsearch] [/ aviable] у вашому шаблоні вже існує. Вам тільки залишається його знайти і вставити всередину решту коду.


Модуль для SEO оптимізації доп. полів в DLE

(До змісту?)
І нарешті, модуль, який виконує все, що описано в попередніх двох пунктах і не тільки. Модуль дуже схожий на модуль TagFace від Алаіча . Можна сказати більше, він не просто схожий - він виконує всі ті дії з доп. полями, що і TagFace з тегами. Але навряд чи ви знайдете такий модуль в інтернеті. Я сам довго копав поки знайшов його. І я навіть заплатив за нього гроші (невеликі, але все ж). Я пропоную отримати даний модуль майже безкоштовно.

https://yadi.sk/d/N7M4cLwvhEi7h

Ви можете слідкувати за оновленнями блогу в Twitter , RSS або по поштою !

З повагою, Мишак Петро!

Схожі записи:

До змісту?
Як це працює?
До змісту?
Php?
Php?
Php?
Php?
Php?
Php?
До змісту?

Новости

Отель «Централь» Официальный сайт 83001, Украина, г. Донецк, ул. Артема, 87
Тел.: +38 062 332-33-32, 332-27-71
[email protected]
TravelLine: Аналитика


Студия web-дизайна Stoff.in © 2008