Tegishli indeks php mavzusi smf tomonidan quvvatlanadi. Dizayn mavzulari va SMF forumini ruslashtirish, shuningdek, Joomla'da JFusion komponentini o'rnatish. Rus tili to'plami mavzular va o'rnatish

Men Joomlasiz yashay olmasligimni hamma biladi, lekin mening fikrimcha, komponentlar uchun yaxshi forum yo'q. Shuning uchun men forum dvigatellari bilan ishlayman. Men yaqinda foydalanishni boshlagan yangilaridan biri - bu foydali narsalar bilan yangi SMF toifasini boshlaylik. Biz kichikdan boshlaymiz va yangi boshlanuvchilar uchun bu juda foydali.

Birinchi qadamlar qidiruv tizimini optimallashtirish Oddiy mashinalar Forum: mualliflik huquqi va tashqi havolalarni olib tashlash

Men faqat smf 2 bilan ishlayotganimni darhol bron qilishimga ijozat bering va ushbu maqola bepul forum mexanizmining ushbu versiyasiga tegishli bo'ladi.

Shunday qilib, muntazam o'quvchilar, dvigatellarning rasmiy veb-saytlariga, shu jumladan forumlarga "10" tashqi havolalarni qo'yishni qanchalik yoqtirmasligimni bilishadi. Shuning uchun, birinchi navbatda, biz mualliflik huquqini olib tashlaymiz va shaklning 4 ta tashqi havolasiga e'tibor qaratamiz " SMF 2.0.2 | Oddiy mashinalar | SMF © 2011 | XHTML"! Buning uchun FTP forum/Mavzular/ orqali saytga ulaning. mavzuingiz nomi/ va faylni tahrirlang index.template.php. Tabiiyki, eng pastki qismida bizga unchalik yoqmaydigan tashqi havolalarni ko'rsatadigan kod (taxminan 330-satr) mavjud. Shuning uchun biz o'chirib tashlaymiz: "

  • ", theme_copyright(), "
  • "Va"
  • ", $txt["xhtml"], "
  • ". Hammasi juda oddiy va oson. Kelgusi nashrlarda SMF/ forumlarini targ'ib qilish va optimallashtirish bo'yicha yangi materiallarni kuting.

    Salom, aziz blog o'quvchilari. Shunday qilib, biz bu haqda postda boshlagan SMF deb nomlangan forum mexanizmini o'rnatish mavzusini davom ettiramiz. U erda biz forumni inglizcha interfeysdan tarjima qilish nuqtai nazaridan hali rus tiliga aylantirmadik. Yoniq hozirgi paytda u juda ko'rinadigan ko'rinmaydi, lekin ruslashtirishdan keyin (agar u hali bajarilmagan bo'lsa) va tegishli bo'limlar yaratilgandan so'ng, uning ko'rinishi sezilarli darajada yaxshilanadi.

    Bugun biz dizayn mavzularini ko'rib chiqamiz va uni ruscha qilamiz, shuningdek, ikkala dvigatel bilan (Jumla va SMF) ishlay oladigan JFusion komponentini o'rnatamiz, bu bizga ikkita va faqat bitta shakl uchun umumiy foydalanuvchi bazasiga ega bo'lish imkonini beradi. ro'yxatdan o'tish va tizimga kirish.

    Rus tili to'plami mavzular va o'rnatish

    Simple Machines Forum mexanizmi mavzularni o'zgartirish qobiliyatini qo'llab-quvvatlaydi va ular butun forum uchun ham, xususan uning alohida bo'limlari uchun ham o'zgartirilishi mumkin. Shaxsan men standart mavzudan foydalandim, lekin unga qo'lda juda ko'p o'zgarishlar kiritdim. Xususan, men fonni, ba'zi elementlarning ranglarini o'zgartirdim, flesh-diskga soat, radio va boshqa ko'p narsalarni qo'shdim, bu haqda men ushbu bo'limdagi keyingi xabarlarda gaplashaman.

    Nega men ulardan hech birini ishlatmadim qo'shimcha mavzular forum yaratishda ro'yxatdan o'ting? Mayli, hammasi mening dangasaligim bilan bog‘liqdir. Yo'q, men yangi mavzularni qidirish va yuklab olish uchun dangasa emas edim, xayriyatki, buni amalga oshirish mumkin bo'lgan joylar ko'p. Mening dangasaligim boshqa joyda.

    Gap shundaki, ushbu dvigatel uchun uning imkoniyatlarini kengaytirish uchun mo'ljallangan barcha xilma-xil modlar, ayniqsa, standart mavzuga qaratilgan. Keling, tushuntiraman. Agar sizda standart mavzu bo'lsa, SMF-ga ma'lum bir mod qo'shish bir necha soniya ichida amalga oshiriladi va qoida tariqasida kodni qo'lda tahrirlashni talab qilmaydi.

    Agar siz standartdan farqli dizayn mavzusiga ega modni o'rnatsangiz, ular aytganidek, barcha xom qismlarni fayl bilan qayta ishlashingiz kerak bo'ladi. Boshqacha qilib aytganda, siz FileZilla-dan foydalanishingiz kerak bo'ladi (uni yuklab oling va sozlang; siz FTP orqali saytga kirishingiz va tahrirlash uchun forum dvigatelingiz fayllarini ochishingiz mumkin. bu mod o'zgarishlar qiladi.

    Keyin koddan kerakli joyni qidiring va kerakli harakatlarni bajaring: kodni almashtirish yoki o'chirish yoki kerakli bo'lakdan oldin yoki keyin kod qismini qo'shish. Agar o'zgartirishlar kiritilishi kerak bo'lgan o'nga yaqin fayl bo'lishi mumkinligini hisobga olsangiz, buni qilish qanchalik qiyin bo'lishini tasavvur qilishingiz mumkin. Bunday holatda siz juda ehtiyot bo'lishingiz va xato qilmasligingiz kerak, chunki aks holda forum umuman ochilmasligi mumkin.

    Agar standart bo'lmagan mavzudan foydalanishning yuqoridagi barcha muammolari sizni qo'rqitmasa, ularni shu yerdan yuklab olishingiz mumkin. U erdagi mavzular bo'limlarga ajratilgan (minimalizm, klassikaga yaqin, zamonaviy va boshqalar) va ularning har biri uchun to'liq ekranda uning skrinshotini ko'rishingiz mumkin. Men sizga bir xil mavzularni qanday o'rnatishni birozdan keyin aytib beraman.

    Agar siz ushbu asarning birinchi qismida tavsiflanganidek, dvigatel fayllarini hostingga yuklash bosqichida forumni ruslashtirmagan bo'lsangiz (maqolaning boshida havolaga qarang), unda siz buni hozir qilishingiz mumkin. Ilgari ushbu sahifadan yuklab olingan rus tilidagi kerakli to'plamni ochish kerak va keyin "Mavzular" papkasini ildiz papkasiga ko'chirish kerak, u erda allaqachon xuddi shu nomdagi katalog mavjud.

    Nusxalash tugallangach, administrator foydalanuvchi nomi va parolidan foydalanib forumga kirishingiz kerak. Yuqori menyuda "Administrator" ni tanlang va chap ustundagi "Server sozlamalari" ni bosing.

    Ochilgan oynada "Standart forum tili" bandini toping va ochiladigan ro'yxatdan rus tilini tanlang, so'ngra sahifaning pastki qismidagi "Saqlash" tugmasini bosing.

    Bo‘ldi, endi konferensiyangiz butunlay rus tilida.

    Rus tilini qo'llab-quvvatlamaydigan modlarni o'rnatishda muammolarni hal qilish

    E'tibor bering, kelajakda SMF-ga rus tiliga tarjimasi bo'lmagan modlarni qo'shganda, ba'zida administrator panelida mod sozlamalarini ko'rsatishda muammo paydo bo'lishi mumkin. Aslida, xuddi shu sozlamalar administrator panelida ko'rinmaydi, chunki... ular uchun ruslashtirish fayllari bo'lmaydi. Shunday qilib, siz ushbu muammoni hal qilish uchun ikkita variantga ega bo'lasiz.

    Birinchi usul - butun forum uchun ingliz tiliga o'tish. Buni qanday qilish mumkinligini yuqoridagi bir necha paragrafda ko'rishingiz mumkin. Shunga ko'ra, ushbu sozlamalar bilan kerakli harakatlarni bajarganingizdan so'ng, siz yana rus tiliga qaytishingiz kerak bo'ladi.

    Ikkinchi usul murakkabroq, ammo bu bizga administrator panelida o'rnatilgan modlarning sozlamalarini faqat faollashtirilganda emas, balki har doim ko'rish imkonini beradi. Ingliz tili. Men bu haqda batafsil to'xtalib o'tmoqchiman, chunki kimdir mod o'rnatgan va uning sozlamalarini o'z konferentsiyasining boshqaruv panelida topa olmayapti degan savol juda keng tarqalgan.

    Shunday qilib, ikkinchi usul - yangi qo'shilgan modlar uchun ruslashtirish fayllariga tarjima satrlarini qo'shish. Qaysi rusifikatsiya fayllarini o'zgartirish kerakligini va ularni qaerdan olish kerakligini qanday aniqlashni keyinroq aytaman. Ayni paytda, vaqtinchalik, siz birinchi usuldan foydalanishingiz mumkin.

    Veb-sayt va forum integratsiyasi uchun JFusion o'rnatilmoqda

    Avval siz JFusion va uning rusifikatsiyasini yuklab olishingiz kerak bo'ladi. Joomla boshqaruv paneliga kirib, biz standart amallarni bajaramiz: dan tanlang yuqori menyu administrator paneli, "Kengaytmalar" - "O'rnatish/O'chirish" - "Paket faylini yuklab olish" - "Ko'rish" tugmasi - jfusion_package.zip komponenti bo'lgan faylni kompyuteringizda toping - "Faylni yuklab olish va o'rnatish" tugmasini bosing.

    Shundan so'ng, komponent muvaffaqiyatli o'rnatilganligi haqida xabar beruvchi oyna paydo bo'ladi. Agar muammolar yuzaga kelsa, yuqorida keltirilgan havolada ularning ba'zilarining echimlari bilan tanishishingiz mumkin.

    Endi ruslashtirish vaqti keldi, bu komponentning o'zi bilan bir xil tarzda qo'shiladi. Bular. harakatlar ketma-ketligini takrorlang: "Kengaytmalar" - "O'rnatish/O'chirish" - "Paket faylini yuklab olish" - "Ko'rish" tugmasi - kompyuteringizda JFusion Russification faylini toping - "Faylni yuklab olish va o'rnatish" tugmasini bosing. Endi biz "Komponentlar" - "JFusion" yo'li bo'ylab sozlamalarga o'tamiz va ruslashtirish muvaffaqiyatli qo'shilganiga va ishlayotganiga ishonch hosil qilishimiz mumkin.

    Sizga omad! Tez orada blog sayti sahifalarida ko'rishguncha

    Sizni qiziqtirishi mumkin

    JFusion-ni birlashtirish uchun sozlash SMF forumi va Joomla sayti
    JFusion modullari forumdagi xabarlarni veb-saytda ko'rsatish, shuningdek, Joomla-ga qaytish uchun SMF-da tugma yaratish.
    Forumga kirish uchun Joomla'da menyu elementini yaratish va foydalanuvchi ro'yxatini SMF dan saytga o'tkazish
    SMF forumini o'rnatish - JFusion komponentidan foydalangan holda Joomla 1.5 va Simple Machines Forumini birlashtirish
    Joomla uchun kengaytmalar - ular nima va Joomla uchun komponentlar, modullar va plaginlarni qaerdan yuklab olish, ularni qanday o'rnatish va olib tashlash
    Joomla-da bloglar, kataloglar va portallar yaratish uchun K2 komponenti - xususiyatlar, o'rnatish va ruslashtirish Joomla uchun foto galereya - 3-qism - Phoca Gallery komponenti yordamida Joomla 1.5 da galereyalar yaratish - toifalar qo'shish va rasmlarni foto galereyaga yuklash
    ARTIO JoomSEF - Joomla'da CNC (SEF) havolalarini va sarlavhasini o'rnatish, shuningdek, ushbu kengaytmadan foydalangan holda 404 xato sahifasini yaratish
    Akeeba Backup (sobiq JoomlaPack) - Joomla-da saytning zaxira nusxasini yaratish va uni qayta tiklash. zaxira nusxasi ikki marta bosish bilan

    Darhol asosiy skript kodi bilan boshlaylik:

    #!/usr/bin/perl

    # which-forum.pl skripti
    № (c) 2010 Aleksandr A Alekseev, http://site/

    qat'iy foydalaning;

    # sharhlangan satr - qat'iylik uchun
    # agar vazifa dvigatel statistikasini yig'ish bo'lsa, uni shunday qoldiring
    # agar siz forumlar ro'yxatini tuzsangiz - izohni bekor qiling

    mening $ma'lumotlarim;
    $ma'lumotlar .= $_while (<> ) ;

    # phpBB tomonidan qancha quvvatlanganligini pastki qismdagi havolasiz tekshiring
    chop etish "phpbb \n"
    agar ($ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i yoki
    # $data =~ /viewforum\.php\?[^""]*f=\d+/i yoki
    $ma'lumotlar =~ /phpBB\-SEO/i yoki
    $ma'lumotlar =~ /) ;
    chop "ipb \n"
    agar ($ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i yoki
    $ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/i yoki
    $ma'lumotlar =~ /

    /i yoki
    $ma'lumotlar =~ /index\.php\?[^""]*showforum=\d+/i) ;
    "vbulletin"ni chop eting \n"
    agar ($ma'lumotlar =~ /Kuchli:?[^<]+vBulletin[^<]+(?:Version)?/i yoki
    $ma'lumotlar =~ /) ;
    chop etish "smf \n"
    agar ($ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>SMF/i tomonidan quvvatlanadi yoki
    $ma'lumotlar =~ /index\.php\?[^""]*board=\d+\.0/i) ;
    chop "punbb \n"
    agar ($ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i);
    #yoki
    # $ma'lumotlar =~ /viewforum\.php\?[^""]*id=\d+/i); \n"
    "fluxbb
    # if($data =~ /viewtopic\.php\?id=\d+/i yoki /agar ($ma'lumotlar =~) ;
    ]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i \n"
    agar ($ma'lumotlar =~ /chop "exbb]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i
    );
    # yoki \n"
    agar ($ma'lumotlar =~ /# $ma'lumotlar =~ /forums\.php\?[^""]*forum=\d+/i); yoki
    chop etish "yabb
    ]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i \n"
    agar ($ma'lumotlar =~ $ma'lumotlar =~ /YaBB\.pl\?[^""]*num=\d+/i );<\/title>/i yoki
    $ma'lumotlar =~ /dleforumni chop eting<\/a>/i) ;
    /\(DLE Forum tomonidan quvvatlanadi\) \n"
    agar ($ma'lumotlar =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE forumi yoki
    $ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i \n"
    agar ($ma'lumotlar =~ /]*>ExBB/i
    $ma'lumotlar =~ /ikonboard\.cgi/i );
    chop "bbpress
    # $ma'lumotlar =~ /mavzu\.php\?id=\d+/i yoki \n"
    # $ma'lumotlar =~ /forum\.php\?id=\d+/i);
    chop etish "flashbb
    agar ($ma'lumotlar =~ /# if($data =~ /forums\.php\?fid=\d+/i yoki) ;
    # $ma'lumotlar =~ /mavzu\.php\?fid=\d+/i yoki \n"
    ]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i
    agar ($ma'lumotlar =~ /"stokesit"ni chop eting) ;
    # if($data =~ /forum\.php\?f=\d+/i yoki \n"
    ]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i
    agar ($ma'lumotlar =~ /chop etish "podium) ;
    # if($data =~ /mavzu\.php\?t=\d+/i yoki \n"
    ]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i
    agar ($ma'lumotlar =~ /chop "usebb) ;
    # if($data =~ /forum\.php\?id=\d+/i yoki \n"
    ]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i
    agar ($ma'lumotlar =~ /chop etish "wrforum) ;
    # if($data =~ /index\.php\?fid=\d+/i yoki \n"
    ]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i
    $ma'lumotlar =~ chop etish "yetanotherforumnet) ;

    agar ($data =~ /Yana bir forum\.net/i yoki /default\.aspx\?g=posts&t=\d+/i.

    Siz ushbu va boshqa skriptlarni postda topasiz bu arxiv Skript which-forum.pl, lekin bir nechta farqlar mavjud. Birinchidan, skriptning o'zi sahifa kodini yuklamaydi, balki uni stdin yoki argument sifatida uzatilgan fayldan o'qiydi. Bu sizga sahifani bir marta yuklab olish imkonini beradi, masalan, wget-dan foydalanib, keyin bir nechta analizatorlar orqali, agar bizda bir nechta bo'lsa. Ikkinchidan, ushbu skriptda imzoning mavjudligi dvigatelning 100% belgisidir. Oxirgi marta, imzoning mavjudligi faqat mos keladigan dvigatelga va eng katta vaznga ega bo'lgan dvigatelga "yutdi". Men bu holatda bunday yondashuv kodni keraksiz ravishda murakkablashtiradi, deb qaror qildim.

    Skriptni sinab ko'rish uchun men biroz tadqiqot qildim. Men bir necha ming forumlar ro'yxatini tuzdim va ularning har birini o'z skriptim orqali ko'rib chiqdim, shu bilan dastur javoblarining foizini va turli dvigatellarning mashhurligini aniqladim.

    Men foydalangan forumlar ro'yxatini olish uchun Google tahlilchisi bilan. Qidiruv mexanizmi kabi so'rovlar

    sayt: forum.*.ru
    sayt: talk.*.ru
    sayt:board.*.ru
    sayt: smf.*.ru
    sayt: phpbb.*.ru
    ....

    va hokazo. To'liq kod faylda so'rovlar generatorini topasiz gen-forumsearch-urls.pl. Zone.ru dan tashqari .su .ua .kz va .by ham ishlatilgan. O'tgan safar bunday tadqiqotni o'tkazish qiyin bo'ldi, chunki WordPress va Joomla saytlarining URL manzilida bunday imzolar yo'q. Cmsmagazine.ru/catalogue/ kabi kataloglar etarli namuna hajmini ta'minlamaydi. 600 Drupal saytlari nima?

    Tan olaman, tajriba natijalari meni xafa qildi. O'rganilgan 12 590 ta saytdan dvigatel faqat 7 083 tasida, ya'ni faqat 56% hollarda muvaffaqiyatli aniqlangan. Ehtimol, men qandaydir dvigatelni hisobga olmadim? Forumlarning yarmi Bitrix o'rnatilgani haqiqatan ham rostmi? Yoki imzolarni qidirishga ko'proq vaqt sarflashim kerakmidi? Umuman olganda, bu erda qo'shimcha tadqiqotlar talab qilinadi.

    Muvaffaqiyatli aniqlangan 56% dvigatellar orasida eng ommaboplari, kutganidek, IPB (31%), phpBB (26,6%) va vBulletin (26,5%) edi.

    Ulardan keyin katta kechikish bilan SMF (5,8%) va DLEForum (5,3%) bormoqda. mening sevimli punBB atigi 6-o‘rinni egalladi (1,64%). Men bu raqamlarga ko'p ishonishni maslahat bermayman (ular RuNet-dagi har uchinchi forum IPB-da ishlaydi, deyishadi), lekin, albatta, ma'lum xulosalar chiqarish mumkin.

    Misol uchun, agar siz forum dvigatelida sayt yaratmoqchi bo'lsangiz va forumni o'zgartirishni rejalashtirmoqchi bo'lsangiz, masalan, haftada bir marta pul mablag'larini avtomatik yechib olish bilan har bir xabar uchun foydalanuvchilarga $ 0,01 to'lang, unda siz eng mashhur uchta dvigateldan birini tanlashingiz kerak. Forum qanchalik mashhur bo'lsa, uni yaxshi biladigan dasturchini topish imkoniyati shunchalik katta bo'ladi.

    Agar dvigatelda sezilarli o'zgarishlar kutilmasa, unchalik mashhur bo'lmagan dvigatelni tanlash mantiqan to'g'ri kelishi mumkin, masalan, SMF yoki punBB. Bu raqamni kamaytiradi xakerlik hujumlari forumingizga va unga avtomatik ravishda yuborilgan spam miqdori.

    Forumlarni qidirish/identifikatsiyalash uchun skriptlarni bir nechtasida ham topish mumkin amaliy qo'llash. Xayolimga kelgan birinchi narsa shu edi TCI bo'yicha tartiblash aniqlangan forumlar va saytlaringizdan biriga havolalar bilan birinchi yuzta xabarlarni joylashtiring. Biroq, yuzlab forum dofollow havolalari TCIga hech qanday ta'sir ko'rsatmadi (2 ta yangilanish o'tdi), shuning uchun bu erda vaqtni behuda sarflamaslik yaxshiroqdir, agar siz o'tishlarga qiziqmasangiz.

    Yuqorida aytib o'tilgan skriptlardan foydalanish yagona emasligi aniq. O'ylaymanki, siz ularni boshqa qanday ishlatishingiz mumkinligini osongina aniqlashingiz mumkin.

    Ko'rsatmalar