একটি অ্যাজাক্স কলব্যাকের জন্য দ্রুততম পদ্ধতি / বাস্তবায়ন কী?


18

আমার কাছে একটি মানচিত্র রয়েছে যা বিভিন্ন / অসংখ্য মানচিত্রের ইভেন্টগুলিতে অ্যাজাক্সের মাধ্যমে মার্কারগুলি লোড করে। বর্তমানে, আমি আমার hook_menu()আইটেমটির জন্য একটি কাস্টম পৃষ্ঠা কলব্যাক সংজ্ঞায়িত করেছি যা আমার জেসন / জেএস মুদ্রণ করে।

যেহেতু আমার পৃষ্ঠা কলব্যাকটি কোনও সামগ্রী ফেরত দেয় না এবং কেবল সামগ্রী প্রিন্ট করে, দ্রুপাল পুরো টেম্পলেট, মেনু ইত্যাদির রেন্ডার করে না এবং এইভাবে আমাকে কেবল আমার জাভাস্ক্রিপ্ট সহ একটি পৃষ্ঠা ফেরত দিতে দেয় ।

যদিও এটি কাজ করে, আমি বিশ্বাস করি যে দ্রুপাল এখনও পুরোপুরি বুটস্ট্র্যাপিং করছে যার অর্থ এটি প্রচুর ওভারহেড যুক্ত করছে যা আমি ফেলে দিতে চাই।

দেখছি করে থাকেন উচ্চ ক্ষমতা সম্পন্ন জাভাস্ক্রিপ্ট কলব্যাক হ্যান্ডলার , যা, একটি "উচ্চ ক্ষমতা সম্পন্ন জাভাস্ক্রিপ্ট কলব্যাক হ্যান্ডলার" এবং যা হিসাবে নিজেকে boasts সংক্ষেপে, হচ্ছে, যদিও কোনো উপলব্ধ করা হয় js.phpপ্রশংসা করতে index.phpএবং Customize / সীমা আপনার অনুরোধ নির্দেশ / ডিফল্টরূপে বুটস্ট্র্যাপিং দ্রুপাল করে তোলে।

দুর্ভাগ্যক্রমে জেএস প্রকল্পের একটি ডি 7 রিলিজ এখনও নেই (এটির জন্য একটি আবেদন ), যা আমাদের শুরুতে নিয়ে যায় ...

দ্রুপালে অ্যাজাক্স কলব্যাক কার্যকর করার দ্রুততম কোনটি?

উত্তর:


8

আমি আমার hook_menu()আইটেমটির জন্য একটি কাস্টম পৃষ্ঠা কলব্যাক সংজ্ঞায়িত করি যা আমার জসন / জেএস মুদ্রণ করে।

এটিই ড্রুপাল 6 অফার করেছে। Drupal এর 7 AJAX এর ফ্রেমওয়ার্ক একটু বেশি কাজ করতে পারেন। হ্যাঁ এটি ড্রুপালকে বুটস্ট্র্যাপ করে তবে এটি বিনামূল্যে অনেকগুলি বৈশিষ্ট্যও দেয়। সংক্ষেপে আপনি ajax_deliver () পৃষ্ঠা সরবরাহের পদ্ধতি হিসাবে ব্যবহার করতে পারেন এবং ব্রাউজারে আদেশগুলি প্রেরণ করতে পারেন।

... বোতাম এবং লিঙ্কগুলিতে ক্লাস যুক্ত করে অ্যাজাক্স সক্ষম করা যেতে পারে। কোনও লিঙ্কে 'ব্যবহার-আজাক্স' শ্রেণি যুক্ত করে, লিঙ্কটি একটি অ্যাজাক্স কলের মাধ্যমে লোড করা হবে। এই পদ্ধতিটি ব্যবহার করার সময়, লিঙ্কটির href পথের অংশ হিসাবে '/ nojs /' থাকতে পারে। যখন অ্যাজাক্স কাঠামোটি অনুরোধ করে, এটি এটিকে '/ আজজ্যাক /' তে রূপান্তর করবে। সার্ভারটি তখনই সহজেই বলতে সক্ষম হয় যে এই অনুরোধটি সত্যিকারের অ্যাজাক্স অনুরোধের মাধ্যমে বা অবনমিত অবস্থায় হয়েছিল এবং যথাযথভাবে প্রতিক্রিয়া জানাতে সক্ষম হয়েছিল।

তবে আপনি যদি পারফরম্যান্সের কারণে ফ্রেমওয়ার্কটি পাশ কাটাতে চান তবে আপনার জাভাস্ক্রিপ্ট থেকে সরাসরি আপনার মডিউলে পিএইচপি ফাইল কল করা বন্ধ করার কিছুই নেই। আপনি কোনও ড্রুপাল সদ্ব্যবহার পাবেন না তবে পৃষ্ঠার উপরেও আপনার সম্পূর্ণ নিয়ন্ত্রণ থাকবে।


ধন্যবাদ! আমার কার্য সম্পাদন নির্বিশেষে আজাক্স ফ্রেমওয়ার্কটি ব্যবহার করা উচিত (এখন আমি এটি সম্পর্কে জানি) খ / সি এজ্যাক্স পৃষ্ঠার অনুরোধ প্রক্রিয়ার কোনও উন্নতি সম্ভবত সেই প্রসঙ্গেই ঘটবে :)
ইলেক্টব্লেক

2
উদাহরণ মডিউলগুলি দেখুন, এগুলি অনেক সাহায্য করবে, কাঠামোটি ফর্মগুলির দিকে প্রস্তুত তবে কোথাও ব্যবহার করা যেতে পারে। আমি 'ইউজ-এজ্যাক্স' শ্রেণি সম্পর্কে আমার উত্তরটি কিছুটা সম্পাদনা করেছি।
জেরেমি ফরাসি 16

3
পিএইচপি ফাইলগুলি সরাসরি কল করা কখনও কখনও ঠিক থাকে। আপনি সেই ফাইলটিতে বুটস্ট্র্যাপ.ইনকে অন্তর্ভুক্ত রাখতে পারেন এবং তারপরে আপনার প্রয়োজনীয় নির্দিষ্ট স্তরে api.drupal.org/api/drupal/includes--bootstrap.inc/function/… কল করতে পারেন।
গ্রেগল

4

কিছুটা দেরি হলেও বিশেষত যদি আপনি ভোটদানের জন্য সেই এজ্যাক্স কলব্যাক ব্যবহার করেন (উদাহরণস্বরূপ নতুন বার্তাগুলির জন্য চেক করুন), একটি আকর্ষণীয় বিকল্প রয়েছে: ড্রুপাল নোড.জেএস ইন্টিগ্রেশন

ভোট দেওয়ার পরিবর্তে এটি আপনাকে ইভেন্টের মতো সিস্টেম তৈরি করতে দেয়, যেখানে ব্যবহারকারীরা (তাদের পৃষ্ঠায় জেএস) আপনার নোড.জেএস সার্ভারের সাথে একটি মুক্ত সংযোগ রাখে। যদি কিছু ঘটে থাকে তবে আপনি সরাসরি নোড.জেএস এর মাধ্যমে সমস্ত ব্যবহারকারীকে অবহিত করতে পারেন


দুর্দান্ত পরামর্শগুলির জন্য কখনই দেরি করবেন না - এমনকি এই ধরণের জিনিসটির জন্য নোড.জেএস ব্যবহার করার কথা ভাবেননি তবে হঠাৎ এটি হ্যাঁ বোঝায়, ধন্যবাদ!
ইলেক্টব্লাক

3

আপনি একটি Ajax কলব্যাক বাস্তবায়ন করতে চান যেহেতু Drupal এর মধ্যে , একটি ভাল বাজি মত জাতীয় মডিউল সৌন্দর্য ব্যবহার করে। আমি কেবল কোডটিতে একটি তাত্ক্ষণিক নজর রেখেছি, এবং এটিই মূলত যা আমি প্রস্তাব করেছি (তবে বিবরণে আরও অনেক মনোযোগ সহ)। রক্ষণাবেক্ষণকারী শীর্ষস্থানীয় দ্রুপাল বিকাশকারীদের মধ্যে অন্যতম।

দেখে মনে হচ্ছে আপনাকে অন্য মডিউল থেকে এপিআই ব্যবহার করার প্রয়োজন হলে আপনাকে ব্যবহার করতে হবে module_load_include()বা আরও ম্যানুয়াল include 'sites/all/modules/contrib/...';পদ্ধতিতে থাকতে হবে।

আপনি যে সমস্যার কথা বলছেন তা ইদানীং একটি আলোচিত বিষয় হয়ে দাঁড়িয়েছে। ড্রুপালকন শিকাগোর ড্রাইজের মূল বক্তব্য কলব্যাকগুলি এবং নন-এইচটিএমএল আউটপুট ফর্ম্যাটগুলি করার জন্য কীভাবে দ্রুপাল 8-র আরও ভাল API গুলি দরকার।


সুতরাং, সংক্ষেপে - জেএস.এফপি এবং কর / প্রকল্প / জেএস নিয়ে গবেষণা চালিয়ে যান? আমি ডি 7 রিলিজের জন্য ইস্যু কিতে আবেদন করা শুরু করব। ভিডিওটির জন্য ধন্যবাদ!
ইলেক্টব্লেক

হ্যাঁ এটির সত্যিকারের লজ্জা জেএস প্রকল্পটি এখনও ডি 7 তে পোর্ট করা যায়নি। লাইটওয়েটের পৃষ্ঠার অনুরোধটি পাওয়া এটি এত লজ্জার বিষয়।
ম্যাট কলিন্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.