आप अपने घटक आंशिक निर्देशिका में पर्चा के एचटीएमएल या तो जोड़ सकते हैं, विषय के आंशिक निर्देशिका या सिर्फ यह सीधे किसी भी पृष्ठ/लेआउट में जोड़ने के लिए कैसे यह अंततः कैसा दिखेगा है ...। ये वास्तव में मायने नही रखता।
Partials
{% partial "contact-form.htm" %}
या
{% partial __SELF__ ~ "::contact-form.htm" %} // reference to component's partial
अक्तूबर AJAX ढांचे सहित बारे में अधिक पढ़ें डेटा विशेषताओं जावास्क्रिप्ट एपीआई के उपयोग की आवश्यकता या। यह ठीक है आप इसे कैसे उदाहरण में कर रहे हैं लेकिन इससे पहले कि घटक का नाम जोड़ने के लिए भूल गया onSend हैंडलर
data-request="SendEmails::onSend"
कहाँ SendEmails
= घटक नाम या उपनाम पेज में दिए गए, यदि प्रपत्र घटक के आंशिक में है बस का उपयोग {{ __SELF__ }}::onSend
या जावास्क्रिप्ट एपीआई के साथ, बस कार्य करें:
+०१२३५१६४१०६१:
$.request('onSend', {
data:{email:email, message:message, name:name},
success: function (data) {
//
},
error:function(e){
//
}
});
तो घटक अनुरोध के प्रबंधन में एक समारोह onSend
बनाने
<?php namespace AuthorName\PluginName\Components;
use Cms\Classes\ComponentBase;
use Mail;
use Url;
use Input;
use Request;
use Response;
use ApplicationException;
use Validator;
use ValidationException;
class SendEmails extends ComponentBase
{
public function onSend()
{
if (Request::ajax()) {
try {
$data = post();
// Quick Validation rules for E-mail, Name & Message
if (!array_key_exists('email', $data)) {
$data['email'] = post('email');
}
if (!array_key_exists('norad', $data)) {
$data['message'] = post('message');
}
if (!array_key_exists('name', $data)) {
$data['name'] = post('name');
}
$rules = [
'email' => 'required|email|between:6,255',
'name' => 'required|between:4,255'
//..
];
$validation = Validator::make($data, $rules);
if ($validation->fails()) {
throw new ValidationException($validation);
}
// Check if E-mail Template Exists @ "author.plugin::mail.templatename"
if (View::exists("author.plugin::mail.templatename")) {
Mail::send("author.plugin::mail.templatename", $data, function ($message) {
$message->from('[email protected]', 'Site Name');
$message->to($data['email'], $data['name']);
$message->subject('Subject here..');
});
// Handle Erros
if (count(Mail::failures()) > 0) {
echo "Failed to send Mail "; // Handle Failure
} else {
// Mail sent
echo "Mail Sent!"; // Handle Success
}
}
} catch (Exception $ex) {
throw $ex;
}
}
}
}
मुझे नहीं लगता कि प्लगइन बनाने के लिए सिर्फ एक फॉर्म बनाना अच्छा विचार है। यह एक बहुत ही छोटा काम है ताकि आप कोड जोड़ने के लिए अक्टूबर बैकएंड सीएमएस अनुभाग का उपयोग कर सकें .. –