система онлайн-бронирования
г. Донецк, Украина, ул. Артёма, 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?
Да зместа?

Новости

Биография и фильмография актера Брэда Питта - Свободная Пресса - Последние новости о Брэде Питте и Анжелине Джоли
Брэд Питт (настоящее имя — Уильям Брэдли Питт) — известный американский актер и продюсер. Как актер несколько раз номинировался на «Оскар», но получил престижную премию в качестве продюсера фильма «12

Фильм с участием актеров "Коляда-Театра" выдвинули на "Оскар"
Инициатива Украины. Фильм живущего в Берлине режиссера Сергея Лозницы "Донбасс" поборется за звание лучшей картины на иностранном языке премии Американской киноакадемии "Оскар". Об этом сообщается на

Михалков Никита - Биография - Актеры советского и российского кино
Народный артист РФ (1984) Лауреат Приза журнала «Советский экран» на VIII фестивале студенческих фильмов Всесоюзного государственного института кинематографии (1970, за дипломную работу фильм «Спокойный

Ответы@Mail.Ru: Какие русские актеры, фильмы получили премию оскар?
Голосование за лучший ответ XenonOst Мастер (1476) Первыми, кто получил статуэтку "Оскар" были режиссёры Леонид Варламов и Илья Копалин. Академия признала в 1943 году

История о том, почему Марлон Брандо отказался от «Оскара»
  Тот, кто делал другим «предложения, от которых невозможно отказаться», вдруг сам отказывается от самой желанной награды в мире кино. Тот, кто делал другим «предложения, от которых невозможно

Почему все актеры берут «Оскар», а ученые иногда отказываются от Нобелевской премии?
Спешу вам сообщить, что далеко не все актеры брали свой "Оскар".  5 марта 1973 года Марлон Брандо не принимает награду Киноакадемии за лучшую мужскую роль — Вито Корлеоне, которого он сыграл в фильме

Ответы@Mail.Ru: Кто из актеров получил больше всего Оскаров?
Татьяна Гуру (3082) Больше всего «Оскаров» получил Уолт Дисней. Первый — в 1932 году за мультфильм из серии про Микки-Мауса. Последующие «Оскары» сыпались градом — он получал их каждый год,

Оскар Кучера: «Хочу, чтобы жена всегда была рядом!»
«Не морочьте мужикам голову всякой ерундой, не задавайте бесконечные вопросы: где ты был? а кто эта женщина?..» Дом актера Оскара Кучеры густо населен: трое детей (шестилетний Александр,

Оскар Кучера
Детство Оскара Оскар Кучера родился в артистической семье. Отец — кинорежиссер Александр Боголюбов (режиссер анимационных фильмов « Приключения Незнайки и его друзей», «Волшебник Изумрудного города»

Оскар Кучера
Биография Дата рождения: 11.08.2974 г. Оскар Кучера родом из Москвы. Мать актёра родом из Милана, наполовину итальянка. Благодаря ей у Оскара такая необычная фамилия. Окончив школу, Оскар поступает

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


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