MyYazar 30 Eylül 2017

Soru ve Cevap Cevap Sitesi Nedir?

Q & A sitesi çevrimiçi topluluğunuzun bilgiyi paylaşmasına yardımcı olur. Soruları olan insanlar ihtiyaç duydukları cevapları alabilir. Topluluk yorum yapma, oylama, bildirimler, puan ve sıralamalarla zenginleştirilmiştir.

Neden sitemde Q & A teklif edersiniz?

Üyeleriniz Q & A’nın etkileşimde bulunduğu ortamdan keyif alacaklar ve sitenizi daha düzenli ziyaret edecekler. Buna ek olarak, pek çok web araması sorular olduğundan, Q & A içeriği arama motoru trafiğini çekecektir.

Question2Answer nedir?

Question2Answer (Q2A), şu anda 40 dilde 21.310 siteyle çalışan, PHP / MySQL için popüler bir açık kaynaklı Q & A platformudur .

Q2A’yı nasıl alabilirim?

Question2Answer 1.7.5 sürümünü indirin , ardından nasıl kurulacağınıokuyun. Sürüm 1.7.5,9 Ağustos 2017’de piyasaya çıktı . AyrıcaGitHub’da .

Q2A 1.8.0 beta 1 , 26 Eylül 2017’de serbest bırakıldı.

Q2A’nın neye ihtiyacı var?

  • PHP 5.2 veya üstü, MySQLi uzantısıyla.
  • En iyi performans için MySQL 4.1 veya üstü, MySQL 5.x.

Ruhsat ne

Question2Answer, açık kaynak kodlu , GPL v2 + kapsamında lisanslanmıştır .

Nasıl yardımcı olabilirim?

Github aracılığıyla katkıda bulunun veya bir tema , eklenti veya çeviri oluşturun .

Kurulumu kolaydır

  • Q2A yüklemek 5 dakika sürer (veya daha az!) .
  • CSS temaları ile kolay tasarım .
  • Herhangi bir dile tercümeyi destekler .
  • Özel kenar çubuğu, widget’lar, sayfalar ve bağlantılar.
  • SEO Site Haritası ve düz URL’ler gibi SEO özellikleri .

Hızlı ve güvenli

  • PHP / MySQL , milyonlarca kullanıcıya ve mesaja ölçeklenebilir .
  • Güvenli XSS, CSRF ve SQL enjeksiyon saldırıları.
  • Spam, captcha’lar, ılımlılık ve / veya bayrak ile yendi.

Temel Q & A özellikleri

  • Hızlı entegre edilmiş arama motoru.
  • Kategoriler (4 basamak derinliğe kadar) ve / veya etiketleme.
  • Oylama, yorumlar, takip ve kapalı sorular.
  • Puan tabanlı itibari yönetimi.
  • RSS, e-posta bildirimleri ve kişisel haber akışları.

Dahili kullanıcı hesabı yönetimi …

  • Uzmanlar, editörler, denetleyiciler ve yöneticiler oluşturun.
  • Kullanıcı avatarları (veya Gravatar ) ve özel alanlar.
  • Özel mesajlar ve halka açık yazıları.
  • Facebook veya başkaları aracılığıyla giriş yapın ( eklentilerikullanarak ).

… veya mevcut sitelerle entegre olun

  • Out-of-the-box WordPress 3 + entegrasyonu .
  • Diğer siteler için özel tek oturum açma desteği.
  • Eklentiler yoluyla derin entegrasyon ve özelleştirme .

Yazılımın içimde gayet kullanışlı hazır temalar bulunmaktadır. Fakat siz kendi özel temanızı tasarlamak ve kodlamak isterseniz bu bilgi size tema kodlama için yardımcı olacaktır.

Question2Answer için temalar oluşturma

Question2Answer birden çok temayı destekler ve kendi temalarınızı yaratmanızı kolaylaştırır. Sayfalardaki HTML’de hiçbir görsel biçimlendirme yoktur, bu nedenle sadece görünümünü ve görünümünü CSS kullanarak özelleştirebilirsiniz. Yeni bir tema oluşturmak için aşağıdaki adımları izleyin:

  1. Bir başlangıç ​​noktası olarak Question2Answer’un standart temalarından birini seçin. Dizininin bir kopyasını Q2A’nın qa-themedizininde yapın ve kopyaya seçtiğiniz temanın adını verin. Kopyalanan dizin, en azından qa-styles.cssdosyayı içermelidir .
  2. Q2A sitenize yönetici olarak giriş yapın, Yönetici panelinin Genel bölümünü açın, yeni temanızı seçin ve seçenekleri kaydedin.
  3. Yeni qa-styles.cssdosyayı metin düzenleyicinizde açın ve biçimlendirmeyi gerektiği gibi değiştirin. CSS sınıflarının nasıl kullanıldığını görmek için tarayıcınızdaki Kaynağı Göster özelliğini kullanın.
  4. Değişiklik yaparken, tarayıcı sayfalarını nasıl görüntülediğini görmek için yenileyin. Farklı tarayıcılarda test ettiğinizden emin olun.
  5. Q2A 1.5’den itibaren temanız, sizi tema yaratıcısı olarak tanımlayan ve Q2A’nın güncellemeleri kontrol etmesini sağlayan meta verileri içerebilir. Aşağıdaki meta veriler dosyada görünebilir qa-styles.css– tüm alanlar isteğe bağlıdır:
    /*
        Theme URI: _Web address for your theme_
        Theme Version: _Your theme version number_
        Theme Date: _Build date of your theme in YYYY-MM-DD_
        Theme Author: _Human-readable name of theme author_
        Theme Author URI: _Web address for plugin author_
        Theme License: _Short name of plugin license, e.g. GPLv2/3_
        Theme Update Check URI: _Web address for Q2A to check for updates_
    */
    

    Bu meta verilerden bazıları Q2A yönetici arayüzündeki tema ayarının yanında görüntülenir. Buna ek olarak, Theme Update Check URIkullanıcıları temanın yeni sürümleri hakkında bilgilendirmenize izin verir. S2A içeriği alacak Theme Update Check URIve meta verileri yukarıdaki ile aynı biçimde arar. Eğer Theme Versiondeğerleri eşleşmiyor, bir mesaj bir bağlantı ile birlikte görünecek Theme URIçevrimiçi meta verilerinden. Bu mekanizmanın kullanılmasının en basit yolu, qa-styles.cssbelirli bir konumdaki en son sürümün çevrimiçi olmasını sağlamak ve bu konumu o Theme Update Check URI.

  6. Lütfen temanızı başkalarının indirmesi için bir zip dosyası olarak sunmayı ve bize buradan bağlanabilmemiz için bize bildirmeyi düşünün .

Question2Answer için gelişmiş bir tema oluşturma

Sadece CSS temalarını aşmak için, Question2Answer’un içeriğin belirli öğeleri için ürettiği HTML’de değişiklikler yapmak mümkündür. Bu, bazı PHP programlamalarını gerektirir ve aşağıda ayrıntılarıyla açıklanmıştır:

  1. Yalnızca CSS temaları ile aynı adımları kullanarak yeni bir tema dizini oluşturun.
  2. qa-theme.phpYeni tema dizininizde adlandırılmış bir dosya oluşturun ve aşağıdaki PHP kodunu ekleyin. Tema dosyanızda İngilizce olmayan karakterler kullanmak istiyorsanız, metin düzenleyicinizin BOM olmadan UTF-8 kodlamayı kullandığından emin olun (bayt sipariş işareti).
    <?php
    
    class qa_html_theme extends qa_html_theme_base
    {
    }
    
  3. HTML’nin hangi bölümlerini değiştirmek istediğinizi öğrenmek için tarayıcınızdaki Kaynağı Göster özelliğini kullanın.
  4. Bu HTML’yi üretmekle yükümlü olan işlev için qa-theme-base.phpQuestion2Answer’ın qa-includedizinindeki dosyaya bakın . İçindeki işlevlerin çoğu qa-theme-base.php, oluşturduğu HTML öğesinin CSS sınıfıyla eşleşecek şekilde adlandırılır. Işlevi örneği için page_links()çıkışları <div class="qa-page-links">… </div>.
  5. qa-theme-base.phpGeçersiz kılmak istediğiniz her işleve qa_html_themeaynı ad ve parametrelerle sınıfınızda bir işlev oluşturun . HTML’yi echoveya printçıktısını kullanabilir , ancak kullanmanız önerilir $this->output(). Bu, girintiyi otomatik olarak takip edecek – içinde kullanım örnekleri qa-theme-base.php.
  6. DOM öğesi kimliklerinin (örn. <DIV ID="...">) Kullanımı , Question2Answer denetim katmanı için ayrılmıştır; bu nedenle kimlikler CSS stilini hedeflemek için temanız tarafından kullanılmamalıdır. Bunun yerine, <div class="...">birlikte çalışmak kolay sınıfları (ör. ) Kullanın .
  7. Özel işlevinizde, qa_html_theme_basePHP’nin çift kolon ( ::) gösterimini kullanarak sınıftaki varsayılan işlevi çağırabilirsiniz , örn. qa_html_theme_base::page_links();Bu yaklaşım, kodun kopyalanıp yapıştırılmasından daha iyidir qa-theme-base.php; çünkü, temanın Question2Answer’ın gelecekteki sürümleriyle uyumlu olma şansını en üst düzeye çıkaracaktır .
  8. Davranışını, gösterilen sayfa türüne göre değiştirmek için kontrol edin $this->template. Ayrıca $this->request, kullanıcının hangi sayfayı talep ettiğini görmek ve sayfanın $this->contexthangi bölümünde bulunduğunu print_r()öğrenmek için kontrol edebilirsiniz . PHP işlevi, bu değerleri farklı durumlarda kontrol etmenizi kolaylaştıracaktır.
  9. Bir Ajax isteğine yanıt olarak, tema sınıfınızdaki bazı işlevler tam bir HTML sayfası bağlamının dışında çağrılabilir. Bu işlevlerdeki herhangi bir değişiklik veya bunlara seslenen işlevler buna göre test edilmelidir. : S2a 1.5 itibariyle bu geçerli olduğu a_list_item()c_list_item()favorite_inner_html()ve voting_inner_html().

Aşağıda, standart temada iki değişiklik yapan bir örnek verilmiştir. Birincisi, arama ve kullanıcı gezinme öğelerinin sırasını tersine çevirir. İkincisi, sayfa bağlantılarındaki üç nokta (…) etiket sayfasındaki uzun tire (-) haline getirir.

 

Question2Answer yüklemek 5 dakika sürer (veya daha az!) .

Çoğu durumda, web siteniz için Question2Answer yüklemek ölü kolay olmalıdır. Lütfen aşağıdaki adımları takip edin.

Question2Answer’u yüklemeden önce

Sahip olduğundan emin ol:

Ve web sunucunuzun çalıştığından emin olun:

  • Apache veya Nginx gibi web sunum yazılımı .
  • PHP 5.2 veya üstü, MySQLi uzantısıyla.
  • En iyi performans için MySQL 4.1 veya üstü, MySQL 5.x.

Emin değilseniz, lütfen web barındırma sağlayıcınıza danışın.

Question2Answer’u ilk kez yüklemek (tekli oturum açma olmadan)

Aşağıdaki talimatlar, sizin için kullanıcı hesaplarını ve oturum açma işlemlerini yönettiği yerde Question2Answer uygulamasını yüklemek içindir. Question2Answer’ın mevcut kullanıcı veritabanı ve hesap sisteminiz ile entegre olmasını isterseniz, tek oturum açma yükleme talimatlarına bakın . Sürüm 1.4’den itibaren, Question2Answer bir WordPress 3.x sitesi ve kullanıcı veritabanıyla kolay entegrasyon sunar .

  1. İndir Question2Answer en son sürümünü bilgisayarınıza veya web sunucusu (aynı zamanda mevcut üzere GitHub’dan ).
  2. Karşıdan yüklemeyi WinZip gibi bir araç (veya unzipUnix kabuğu) kullanarak sıkıştırın .
  3. İngilizce olmayan bir siteyi çalıştırmak isterseniz, uygun dil dosyasının mevcut olup olmadığını kontrol edin . Eğer öyleyse, indirip qa-langklasöre yükleyin . Değilse, Question2Answer’u kendiniz için çevirmek kolaydır .
  4. Bu veritabanı için tam izinlere sahip bir MySQL veritabanı ve bir MySQL kullanıcısı oluşturun. İlginizi çekiyorsa, aslında ihtiyaç duyulan ayrıcalıklarşunlardır: CREATE, ALTER, DELETE, INSERT, SELECT, UPDATE, LOCK TABLES
  5. MySQL ayrıntılarını not edin: kullanıcı adı, şifre, veritabanı adı ve sunucu ana makine adı. MySQL, web sitenizle aynı sunucuda çalışıyorsa, sunucu ana makine adı büyük olasılıkla 127.0.0.1ya da olacaktır localhost.
  6. qa-config-example.phpSıkıştırılmış question2answerklasörde bulun ve dosyayı yeniden adlandırın qa-config.php.
  7. qa-config.phpMetin düzenleyicinizde açın , en üstteki MySQL ayrıntılarını ekleyin ve dosyayı kaydedin. Bunun için Microsoft Word gibi bir kelime işlemci kullanmayın, bunun yerine Not Defteri veya başka bir uygun metin düzenleme programı kullanın .
  8. Tüm Question2Answer dosyalarını ( .htaccess de dahil olmak üzere ) web sunucunuzdaki uygun konuma yerleştirin:
    • Question2Answer’u bir alanın kökünde (örneğin http://www.mysite.com/) sunmak için , sıkıştırılmamış question2answerklasörün tüm içeriğini web sunucunuzdaki o alanın kök dizinine taşıyın veya yükleyin .
    • Question2Answer’u bir sitenin alt dizininde (örn. http://www.mysite.com/qa/) Sunmak için, sitenin kök dizininde alt dizin oluşturun, ardından unzipped question2answerklasörün tüm içeriğini bu alt dizine taşıyın veya yükleyin .
  9. Question2Answer için uygun web sayfasını web tarayıcınızda açın, örneğin:
    • Bir alanın kökünde Question2Answer yüklediyseniz, http://www.mysite.com/
    • Bir alt dizinde Question2Answer yüklediyseniz, http://www.mysite.com/qa/
  10. Veritabanı ve yönetici hesabınızı kurmak için ekrandaki talimatları izleyin. Bu kadar!


Leave a comment.

Your email address will not be published. Required fields are marked*

Etiketler:, , , , , , ,