Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Forumdan daha fazla yararlanmak için, profilinizi telefon numaranız 📱 ile doğrulayın ve daha ayrıcalıklı olun 😉
    Daha fazla bilgi!

Müracaat Formu Değişiklik Yapılması

htsumer

xFanatik
SMS onaylı
Kullanıcı
Katılım
2 May 2018
Mesajlar
1,931
Çözümler
40
Sitede müracaat formunu ayrı Sayfa hazırlayarak o sayfanın amacına uygun derlemek istiyorum.

Normal Kontak forumun kodları bu. Yalnız biraz değiştirdim ama istediğimi yapamadım..

<xf:title>{{ phrase('contact_us') }}</xf:title>

<xf:form action="{{ link('misc/contact') }}" class="block" ajax="true" data-force-flash-message="true">
<div class="block-container">
<div class="block-body">
<xf:if is="!$xf.visitor.user_id">
<xf:textboxrow name="username" autofocus="autofocus" maxlength="{{ max_length($xf.visitor, 'username') }}"
label="{{ phrase('your_name') }}" required="required" hint="{{ phrase('required') }}" />

<xf:textboxrow name="email" maxlength="{{ max_length($xf.visitor, 'email') }}" type="email"
label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />
<xf:else />
<xf:formrow label="{{ phrase('your_name') }}">{$xf.visitor.username}</xf:formrow>
<xf:if is="$xf.visitor.email">

<xf:formrow label="{{ phrase('your_email_address') }}">{$xf.visitor.email}</xf:formrow>
<xf:formrow label="Müracaat Şekli">İl Temsilcilik</xf:formrow>
<xf:else />

<xf:textboxrow name="email" type="email"
label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />

</xf:if>
</xf:if>

<xf:captcharow label="{{ phrase('verification') }}" hint="{{ phrase('required') }}" />

<xf:textboxrow name="subject"
label="{{ phrase('subject') }}" required="required" hint="{{ phrase('required') }}" />

<xf:textarearow name="message" rows="5" autosize="true"
label="Hangi İl/İlçede Çalışıyorsunuz" required="required" hint="{{ phrase('required') }}" />
</div>
<xf:submitrow submit="{{ phrase('send') }}" />
</div>
<xf:redirect />
</xf:form>

Benim Yapmak istediğim aşağıdaki bir forma dönüştürmek. Mail Geldiğinde Mailin Başlığı " Temsilcilik Müracaat" olacak..
yUKARDAKİ KODLARI BUNA GÖRE DEĞİŞKENLERİ YAPAMADIM...

1543604185961.png
 
Şunu bir deneyin

HTML:
<xf:title>{{ phrase('contact_us') }}</xf:title>

<xf:form action="{{ link('misc/contact') }}" class="block" ajax="true" data-force-flash-message="true">
<div class="block-container">
<div class="block-body">
<xf:if is="!$xf.visitor.user_id">
<xf:textboxrow name="username" autofocus="autofocus" maxlength="{{ max_length($xf.visitor, 'username') }}"
label="{{ phrase('your_name') }}" required="required" hint="{{ phrase('required') }}" />

<xf:textboxrow name="email" maxlength="{{ max_length($xf.visitor, 'email') }}" type="email"
label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />
<xf:else />
<xf:formrow label="{{ phrase('your_name') }}">{$xf.visitor.username}</xf:formrow>
<xf:if is="$xf.visitor.email">

<xf:formrow label="{{ phrase('your_email_address') }}">{$xf.visitor.email}</xf:formrow>
<xf:formrow label="Müracaat Şekli">İl Temsilcilik</xf:formrow>
<xf:else />

<xf:textboxrow name="email" type="email"
label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />

</xf:if>
</xf:if>

<xf:captcharow label="{{ phrase('verification') }}" hint="{{ phrase('required') }}" />

<xf:formrow  name="subject" label="{{ phrase('subject') }}">Temsilcilik Müracaat</xf:formrow>

<xf:textarearow name="message" rows="5" autosize="true"
label="Hangi İl/İlçede Çalışıyorsunuz" required="required" hint="{{ phrase('required') }}" />
</div>
<xf:submitrow submit="{{ phrase('send') }}" />
</div>
<xf:redirect />
</xf:form>
 
Hocam eline sağlık şablon çok güzel olmuş sadece şu hatayı alıyorum..

1543607839343.png
 
Şunu bir deneyin

HTML:
<xf:title>{{ phrase('contact_us') }}</xf:title>

<xf:form action="{{ link('misc/contact') }}" class="block" ajax="true" data-force-flash-message="true">
<div class="block-container">
<div class="block-body">
<xf:if is="!$xf.visitor.user_id">
<xf:textboxrow name="username" autofocus="autofocus" maxlength="{{ max_length($xf.visitor, 'username') }}"
label="{{ phrase('your_name') }}" required="required" hint="{{ phrase('required') }}" />

<xf:textboxrow name="email" maxlength="{{ max_length($xf.visitor, 'email') }}" type="email"
label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />
<xf:else />
<xf:formrow label="{{ phrase('your_name') }}">{$xf.visitor.username}</xf:formrow>
<xf:if is="$xf.visitor.email">

<xf:formrow label="{{ phrase('your_email_address') }}">{$xf.visitor.email}</xf:formrow>
<xf:formrow label="Müracaat Şekli">İl Temsilcilik</xf:formrow>
<xf:else />

<xf:textboxrow name="email" type="email"
label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />

</xf:if>
</xf:if>

<xf:captcharow label="{{ phrase('verification') }}" hint="{{ phrase('required') }}" />

<xf:formrow  name="subject" label="{{ phrase('subject') }}">Temsilcilik Müracaat</xf:formrow>

<xf:textarearow name="message" rows="5" autosize="true"
label="Hangi İl/İlçede Çalışıyorsunuz" required="required" hint="{{ phrase('required') }}" />
</div>
<xf:submitrow submit="{{ phrase('send') }}" />
</div>
<xf:redirect />
</xf:form>
Textbrowrow disabled yapılması lazım değiştirilebilir.Ben bulamadım nasıl yapılacağını.
 
çıkış yaparak denediğimde adı ve e-mail kısımları sarıya boyanıyor.. Benim şablon üzerinde oynamıştım. Ondan mı acaba..

Orjinal şabon şu:

HTML:
<xf:title>{{ phrase('contact_us') }}</xf:title>

<xf:form action="{{ link('misc/contact') }}" class="block" ajax="true" data-force-flash-message="true">
    <div class="block-container">
        <div class="block-body">
            <xf:if is="!$xf.visitor.user_id">
                <xf:textboxrow name="username" autofocus="autofocus" maxlength="{{ max_length($xf.visitor, 'username') }}"
                    label="{{ phrase('your_name') }}" required="required" hint="{{ phrase('required') }}" />

                <xf:textboxrow name="email" maxlength="{{ max_length($xf.visitor, 'email') }}" type="email"
                    label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />
            <xf:else />
                <xf:formrow label="{{ phrase('your_name') }}">{$xf.visitor.username}</xf:formrow>
                <xf:if is="$xf.visitor.email">

                    <xf:formrow label="{{ phrase('your_email_address') }}">{$xf.visitor.email}</xf:formrow>

                <xf:else />

                    <xf:textboxrow name="email" type="email"
                        label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />

                </xf:if>
            </xf:if>

            <xf:captcharow label="{{ phrase('verification') }}" hint="{{ phrase('required') }}" />

            <xf:textboxrow name="subject"
                label="{{ phrase('subject') }}" required="required" hint="{{ phrase('required') }}" />

            <xf:textarearow name="message" rows="5" autosize="true"
                label="{{ phrase('message') }}" required="required" hint="{{ phrase('required') }}" />
        </div>
        <xf:submitrow submit="{{ phrase('send') }}" />
    </div>
    <xf:redirect />
</xf:form>
 
ŞÖyle bişey yaptım ama illa Konu Text içine girileni postaya gönderiyor...
Konu zorunlu alanı bu şekilde geçtim ama yinede değişkene yazılanı istiyor.

HTML:
<xf:title>{{ phrase('contact_us') }}</xf:title>

<xf:form action="{{ link('misc/contact') }}" class="block" ajax="true" data-force-flash-message="true">
    <div class="block-container">
        <div class="block-body">
            <xf:if is="!$xf.visitor.user_id">
                <xf:textboxrow name="username" autofocus="autofocus" maxlength="{{ max_length($xf.visitor, 'username') }}"
                    label="{{ phrase('your_name') }}" required="required" hint="{{ phrase('required') }}" />

                <xf:textboxrow name="email" maxlength="{{ max_length($xf.visitor, 'email') }}" type="email"
                    label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />
            <xf:else />
                <xf:formrow label="{{ phrase('your_name') }}">{$xf.visitor.username}</xf:formrow>
                <xf:if is="$xf.visitor.email">

                    <xf:formrow label="{{ phrase('your_email_address') }}">{$xf.visitor.email}</xf:formrow>

                <xf:else />

                    <xf:textboxrow name="email" type="email"
                        label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />

                </xf:if>
            </xf:if>

            <xf:captcharow label="{{ phrase('verification') }}" hint="{{ phrase('required') }}" />

            <xf:textboxrow name="subject"
                             label="{{ phrase('subject') }}" required="required" hint="{{ phrase('required') }}" />

<xf:formrow  name="subject" label="{{ phrase('subject') }}" required="required" hint="{{ phrase('required') }}">Temsilcilik Müracaat</xf:formrow>


            <xf:textarearow name="message" rows="5" autosize="true"
                label="{{ phrase('message') }}" required="required" hint="{{ phrase('required') }}" />
        </div>
        <xf:submitrow submit="{{ phrase('send') }}" />
    </div>
    <xf:redirect />
</xf:form>

1543609509623.png
 
Evet Konu alanını zorunlu kılıyor. Zorunluluğu iptal etmek için FTP de src/XF/Service/Contact.php dosyasındaki

if (!$this->fromName || !$this->subject || !$this->message) satırı şu şekilde değiştirin

if (!$this->fromName || !$this->message)

Aşağdaki kod ile konu açıklama kısmını disabled yapılıyor.

Bu işlem ne kadar sağlıklı olur, mail gönderir mi göndermez mi, forumun diğer taraflarını nasıl etkiler bilmiyorum test etmedim. İşlemi yapacaksınız önce dosyanın yedeğini alın.



conta.JPG


HTML:
       <xf:title>{{ phrase('contact_us') }}</xf:title>

<xf:form action="{{ link('misc/contact') }}" class="block" ajax="true" data-force-flash-message="true">
<div class="block-container">
<div class="block-body">
<xf:if is="!$xf.visitor.user_id">
<xf:textboxrow name="username" autofocus="autofocus" maxlength="{{ max_length($xf.visitor, 'username') }}"
label="{{ phrase('your_name') }}" required="required" hint="{{ phrase('required') }}" />

<xf:textboxrow name="email" maxlength="{{ max_length($xf.visitor, 'email') }}" type="email"
label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />
<xf:else />
<xf:formrow label="{{ phrase('your_name') }}">{$xf.visitor.username}</xf:formrow>
<xf:if is="$xf.visitor.email">

<xf:formrow label="{{ phrase('your_email_address') }}">{$xf.visitor.email}</xf:formrow>
<xf:formrow label="Müracaat Şekli">İl Temsilcilik</xf:formrow>
<xf:else />

<xf:textboxrow name="email" type="email"
label="{{ phrase('your_email_address') }}" required="required" hint="{{ phrase('required') }}" />

</xf:if>
</xf:if>

<xf:captcharow label="{{ phrase('verification') }}" hint="{{ phrase('required') }}" />

    <xf:textboxrow name="subject"
                label="{{ phrase('subject') }}"  disabled="disabled" value="Temsilcilik Müracaat" />


<xf:textarearow name="message" rows="5" autosize="true"
label="Hangi İl/İlçede Çalışıyorsunuz" required="required" hint="{{ phrase('required') }}" />
</div>
<xf:submitrow submit="{{ phrase('send') }}" />
</div>
<xf:redirect />
</xf:form>
 
Tamam teşekkür ederim. Elinize sağlık.. Deneyeceğim ama bu zorunluluk kaldırmayı config.php içinde ise, saldırı vs gibilerden etkilenmemsi yönünde alınmış olabilir.
Bakalım artık..
 

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.