"বড় স্টেডিয়াম" টিকিট বিক্রয়


10

আমি চাই (প্রয়োজন) একটি স্টেডিয়ামের টিকিট বিক্রয় কার্যকর করতে।
ধারণাটি হ'ল গ্রাহককে তার টিকিট সংখ্যা নির্বাচন করতে দিন (এটির জন্য একটি ক্যাপিং প্রয়োজন হতে পারে তবে এটি কোনও বড় বিষয় নয় I আমি মনে করি কার্টে অনুমোদিত সর্বোচ্চ পরিমাণের মাধ্যমে আমি এটি অর্জন করতে পারি)। এর পরে গ্রাহককে অবশ্যই একটি আসনের মানচিত্র থেকে তার আসনগুলি বেছে নিতে হবে। এর পরে চেকআউট প্রক্রিয়াটি যথারীতি চলতে হবে।
কেউ কি এর জন্য একটি এক্সটেনশন জানেন? আমি একটি অনুসন্ধান করেছিলাম কিন্তু আমার প্রয়োজন অনুসারে একটিও পাইনি। অথবা আমার গুগল দক্ষতার উন্নতির প্রয়োজন হতে পারে।
যদি কোনও এক্সটেনশন না থাকে তবে এটি কীভাবে করবেন সে সম্পর্কে কিছু পয়েন্টার দুর্দান্ত।
আমার ধারণা এখনও পর্যন্ত কিছু পছন্দসই বিকল্পগুলির সাথে (সেক্টর, সারি, আসন নম্বর এবং সম্ভবত অন্যান্য) 'টিকিট' নামে একটি পণ্য তৈরি করা।
দর্শন পৃষ্ঠাটি কাস্টম তৈরি করা হবে, সুতরাং কাস্টম বিকল্পগুলি প্রদর্শিত হবে না। টিকিট নির্বাচন একটি পপআপ বা ওভারলেতে ঘটবে এবং নির্বাচনের উপর ভিত্তি করে আমি কার্টে যুক্ত করার সময় কাস্টম বিকল্পগুলি অনুকরণ করব।
আসনের মানচিত্রটি একটি টেবিলের মধ্যে রাখা হবে যাতে আমি বুক করা আসনগুলিকে চিহ্নিত করতে পারি। স্টেডিয়ামটি সর্বদা একই থাকে তাই একটি মানচিত্রই যথেষ্ট।
এটি এ পর্যন্ত সম্পর্কে। কিছু গিরিয়া seams। যে কোনও পয়েন্টার দুর্দান্ত হবে।
[সম্পাদনা]
3 টি বৈশিষ্ট্য (সেক্টর, সারি এবং আসন সংখ্যা, প্রতিটি সংখ্যার 1 টি কোয়াইটে প্রতিটি সংমিশ্রণ রয়েছে যাতে তারা কেনার পরে তারা উপলব্ধ হবে না) সহ একটি কনফিগারযোগ্য পণ্য তৈরি করার সম্ভাবনা রয়েছে, তবে এর অর্থ 30 কে + পণ্য (প্রতি প্রতি ঘটনা)। আমি রিইলি সেখানে যেতে চাই না। আমি এটিকে সর্বশেষ মরিয়া রিসোর্ট হিসাবে রাখছি।। (এটি এখন আর বিকল্প নয় কারণ এর ফলে হিউইউজ পারফরম্যান্স সমস্যার সমাধান হবে)

উত্তর:


10

আমি এটির মতো কিছু করেছি এবং এটি এটিকে একটি অনুমোদিত উদাহরণ এবং এটি এমনকি একটি কার্যকর সমাধান হিসাবে বিবেচনা করবে কিনা তা দেখার জন্য অতিরিক্ত সরলিকৃত :

এটি সুডোকু গ্রিড সংজ্ঞায়িত করার অনুরূপ তবে সুডোকু গ্রিডের উন্মুক্ত অঞ্চলগুলি খোলা আসন:

$section1 = <<<SECTION

A,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,
B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
C,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
D,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
E,-,-,-,-,-,-,-,-,-,-,-,-

SECTION;

সেই আসন চার্ট (সুডোকু গ্রিড) প্রতি পণ্যের ভিত্তিতে সংরক্ষণ করা হয়। প্রতিটি ইভেন্ট একটি নতুন পণ্য। গ্রিডটি আপডেট করা হয় যখন কেউ কার্টে যুক্ত হয় (বা ব্যবসার বিধিগুলির উপর নির্ভর করে ক্রয় করে):

$section1 = <<<SECTION

A,-,-,x,-,-,-,-,-,x,-,-,x,x,x,x,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,
B,-,-,-,-,-,-,-,-,-,-,-,-,-,x,-,-,-,-,-,-,-,-,-,-,-,-,-
C,-,-,-,-,-,x,x,x,-,x,-,x,-,-,-,-,-,-,-,-,-
D,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
E,-,-,-,-,-,x,-,x,-,x,-,x

SECTION;

আপনার ব্যাকএন্ড মডেলে সিটের প্রাপ্যতা বিচ্ছিন্ন করার জন্য এটি একটি সাধারণ explode:

$chart = array();

$section = trim(explode('\n', $product->getSeatingChart()));

foreach($section as $row){
    $seats = explode(',',$row);
    $rownum = array_shift($seats);
    $chart[$rownum] = $seats;
}

আমরা $chartবুলিয়ানগুলিতে পরিণত করতে পারি :

array_walk($chart,function(&$s){
    $s = $s == "-" ? true : false;
});

A14 উপলব্ধ কিনা তা পরীক্ষা করুন (0 টি সূচকযুক্ত, মনে রাখবেন):

function checkAvailability($row,$seatnum){

    return $chart[$row][$seatnum-1] == true;

}

উপরের দিক:

বাস্তবায়ন মৃত-সহজ: আপনার আসন উপলভ্য বৈশিষ্ট্যটি ব্যাকএন্ড মডেল দ্বারা পার্স করা হয়েছে। এটি মূলত একটি কাস্টম EAV বৈশিষ্ট্য। আপনি বিভাগগুলির ভিত্তিতে মূল্য নির্ধারণ করতে পারেন। প্রতিটি বিভাগ একটি নতুন মূল্য সহ একটি নতুন এসকিউ। আপনি কিছু ইভেন্টে আসন বন্ধ করে দিতে পারেন অন্যকে নয়। এছাড়াও, প্রকৃত তালিকা বহন করার দরকার নেই, কেবল মূল্য নির্ধারণের সময় চেকআউট করার সময় বিক্রয় অর্ডার আইটেমটির পরিমাণ নির্ধারণ করুন।

স্তরগুলিও কাজ করবে, সুতরাং আপনি নিখরচায় বাল্ক ক্রয়ের ছাড় পান; এটি কাস্টম বিকল্পগুলির সাথে একটি উদ্বেগ হতে পারে।

downside:

আসন সংরক্ষণ আপনার বৃহত্তম মাথা ব্যাথা হতে চলেছে কারণ আপনি প্রকৃত তালিকা বহন করেন না; এই পদ্ধতিটি বাদ যায় যেখানে। ব্যবসায়ের বিধিগুলি আপনাকে কীভাবে চেকআউট চলাকালীন আসনগুলি লক / রাখবে তা নির্ধারণ করবে।


1
+1 ওহো। যদি কেউ কখনও "দ্য আর্ট অফ ম্যাজেন্টো প্রোগ্রামিং" লেখেন তবে এটি উদাহরণ হিসাবে দেওয়া ভাল।
কালেঞ্জর্ডান

সবার আগে আমি বলতে চাই যে আমি নিজেকে বোকা মনে করি। অবশ্যই মূল্যগুলি বিভাগগুলিতে হওয়া উচিত I আমার মন মনে হয় প্রতিটি আসনে দাম ছিল। ডি উহু !. যতদূর ডোনসাইড, আমি কিছুই দেখছি না। আমি একটি সহজ সারণী কলামগুলি প্রতি ইভেন্টের জন্য সংরক্ষিত / কেনা আসন অধিষ্ঠিত থাকতে পারে event_id, sector, row, seat, status। স্থিতিটি 'সংরক্ষিত', 'কেনা', 'উপলভ্য নয়' থাকতে পারে। এইভাবে কেউ আপনার সিটিং করার আগে 2 সেকেন্ড আগে কোনও আসন সংরক্ষণ করেছে তা যাচাই করা সহজ হয়। আমি একটি নতুন পণ্য প্রকার (ইভেন্টের টিকিট) তৈরি করার কথাও ভাবছি তাই আমি নিশ্চিত হয়েছি যে পণ্য সেটআপে কোনও সমস্যা নেই। বিশদগুলির জন্য ধন্যবাদ
মারিয়াস

আপনার উত্তরগুলি আমার মনে ধাঁধা টুকরা একসাথে রাখার জন্য সীম করুন। আমি এখনও পারফরম্যান্স ইস্যু সম্পর্কে উদ্বিগ্ন, কারণ 4-5 দিনের মধ্যে 30 কে টিকিট বিক্রয় করা সার্ভারগুলিকে প্রচুর চাপ দিতে পারে, তবে এটি একটি আলাদা সমস্যা। আমি সম্প্রসারণের জন্য এটি সম্প্রসারণ করার পরে এবং গ্রাহকের কাছ থেকে যদি 'গ্রিন লাইট' পাই তবে আমি এটি সম্প্রসারণের জন্য উপলব্ধ করার চেষ্টা করব।
মারিয়াস

30 কে টিকিট - এটি কি ন্যাসকার স্টেডিয়াম? :) আমি মনে করি প্রতি বিভাগে একক টিকিট পণ্য রাখা প্রতি ইভেন্ট (ইভেন্টগুলি কনফিগার করা) আপনার ক্যাটালগের আকারটি উল্লেখযোগ্যভাবে হ্রাস করবে। তারপরে আরও ছোট ডিবি পায়ের
ছাপটি

1
@ ফিলিভিঙ্কল আমি আপনাকে একটি ইমেল পাঠিয়েছি কারণ আমি বিংশ শতাব্দীতে থাকি এবং টুইটার অ্যাকাউন্ট নেই have
মারিয়াস

2

আমি সম্মতি দিচ্ছি কনফিগারযোগ্য পণ্যগুলি দুর্দান্ত ধারণা নয় আসনটি যদি পাওয়া যায় বা বিক্রি করা হয় এবং ম্যাগেন্টো পণ্যটির সাথে এটি উপস্থাপন করা ওভারকিলের মতো শোনা যায় তবে এটি কেবলমাত্র পয়েন্টার।

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


ধন্যবাদ। +1 টি। আপনার উত্তরটি ফিলউইঙ্কল এর সাথে একত্রিত হয়ে কমপক্ষে আমাকে সঠিক দিকে শুরু করা উচিত।
মারিয়াস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.