شما وارد حساب خود نشده و یا ثبت نام نکرده اید. لطفا وارد شوید یا ثبت نام کنید تا بتوانید از تمامی امکانات انجمن استفاده کنید.
اعلانات

- توجه: بخش لینک سازی و بخش کاملا آزاد ایجاد شد تا کاربران برای لینک سازی مطالب و موضوعات مرتبط با سایت خودشون رو با بقیه و موتورهای جستجو به اشتراک بگذارند توجه کنید اگر کاربری روزانه بالای 5 مطلب و لینک ارسال نمایید اکانت کاربری مسدود خواهد شد.

- توجه: دوستان لطفا سوالات خود را از طریق شماره تماس موجود در سایت اعلام نکنید با پیامک یا تلگرام و... این شماره برای تماس های ضروری مشتریان فروشگاه قرار گرفته است.

- قابل توجه کاربران: سوالات خود را از طریق پیام خصوصی ارسال ننمایید و فقط از طریق انجمن پیگیر باشید به سوالاتی که از طریق پیام خصوصی ارسال شود به هیچ عنوان جواب داده نخواهد شد.


تبلیغات
ads
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
جستجو
#1
با سلام
من دو تا custom fields دارم که از نوع TEXT هستند
کاری که میخوام انجام بدم اینه که میخوام جستجوی این دو تا کاستم فیلدز را وصل کنم به جستجوی اصلی وبسایت که تایتل و دیسکریپشن را جستجو میکنه
یعنی بتوانم در جستجوی اصلی وبسایت محتوای این دو تا کاستم فیلدز رو هم جستجو کنم
منتظر پاسخ شما هستم
با احترام
با احترام
  پاسخ
تبلیغات
ads
#2
خب شما از منوی فیلدهای اختصاصی وقتی فیلدی رو درست میکنید تیک گزنیه اضافه شدن به جستجو را بزنید تا در منوی جستجو با استفاده از اون فیلدها بتونید جستجو کنید
  پاسخ
#3
(۱۳۹۵-۰۴-۱۰، ۰۸:۳۳ ق.ظ)zobu نوشته است: با سلام
من دو تا custom fields دارم که از نوع TEXT هستند
کاری که میخوام انجام بدم اینه که میخوام جستجوی این دو تا کاستم فیلدز را وصل کنم به جستجوی اصلی وبسایت که تایتل و دیسکریپشن را جستجو میکنه
یعنی بتوانم در جستجوی اصلی وبسایت محتوای این دو تا کاستم فیلدز رو هم جستجو کنم
منتظر پاسخ شما هستم
با احترام

(۱۳۹۵-۰۴-۱۰، ۱۰:۴۰ ق.ظ)morteza نوشته است: خب شما از منوی فیلدهای اختصاصی وقتی فیلدی رو درست میکنید تیک گزنیه اضافه شدن به جستجو را بزنید تا در منوی جستجو با استفاده از اون فیلدها بتونید جستجو کنید

آقای مرتضی عزیز
اونجا رو میدونم. منظور من یه چیز دیگه بود.
من نمیخوام با باکس خودش سرچ کنم
وبسایت خودش یک سرچ داره که باهاش تایتل رو سرچ میکنند من میخوام سرچ کاستم فیلدز مورد نظرم رو وصل کنم به اونجا تا محتویات اون کاستم فیلدم رو هم سرچ کنه
با احترام
با احترام
  پاسخ
#4
(۱۳۹۵-۰۴-۱۱، ۰۸:۲۰ ق.ظ)zobu نوشته است: آقای مرتضی عزیز
اونجا رو میدونم. منظور من یه چیز دیگه بود.
من نمیخوام با باکس خودش سرچ کنم
وبسایت خودش یک سرچ داره که باهاش تایتل رو سرچ میکنند من میخوام سرچ کاستم فیلدز مورد نظرم رو وصل کنم به اونجا تا محتویات اون کاستم فیلدم رو هم سرچ کنه
با احترام

سلام دوست عزیز ببینید میشه همه کاری انجام فقط باید کمی با ساختار او اس کلاس و کدنویسی اشنا باشین دیگه همه چی حله Big Grin
من یه راهنمایی کوچیک میکنم بقیه اش رو خودت بگیر تا آخر برو Big Grin
با تغییر زیر شما با کادر جستجو اصلی میتونید توی تمام فیلدهای اختصاصی جستجو کنید و کلمه مورد نظر را پیدا کنید دو سوته اگه بخواین محدودترش کنید باید یکمی با mysql اشنا باشین و کوئری دلخواه تون رو بزنید.
خب بریم سرغ آموزش:
فایل Search.php
توی مسیر
oc-includes\osclass\model


را باز کنید و در خطوط 918
کد زیر را
کد php:
                   $this->dao->where(sprintf("MATCH(d.s_title, d.s_description) AGAINST('%s' IN BOOLEAN MODE)"$this->sPattern) ); 


با کد زیر عوض کنید

کد php:
                   $this->dao->join(DB_TABLE_PREFIX.'t_item_meta as xx','xx.fk_i_item_id = '.DB_TABLE_PREFIX.'t_item.pk_i_id','LEFT');
 
                   $this->dao->where(sprintf("d.s_title LIKE '%%%s%%' OR xx.s_value LIKE '%%%s%%' OR d.s_description LIKE '%%%s%%'"$this->sPattern$this->sPattern$this->sPattern) ); 


حالا یه فیلد اختصاصی درست کن و یه مقداری بهش بده توی یه آگهی بعد برو همون مقدار رو توی باکس جستجو سرچ کن همون آگهی که فیلد رو زدی میاره. Wink
  پاسخ
تبلیغات
ads
#5
(۱۳۹۵-۰۴-۱۱، ۰۶:۵۹ ب.ظ)morteza نوشته است:
(۱۳۹۵-۰۴-۱۱، ۰۸:۲۰ ق.ظ)zobu نوشته است: آقای مرتضی عزیز
اونجا رو میدونم. منظور من یه چیز دیگه بود.
من نمیخوام با باکس خودش سرچ کنم
وبسایت خودش یک سرچ داره که باهاش تایتل رو سرچ میکنند من میخوام سرچ کاستم فیلدز مورد نظرم رو وصل کنم به اونجا تا محتویات اون کاستم فیلدم رو هم سرچ کنه
با احترام

سلام دوست عزیز ببینید میشه همه کاری انجام فقط باید کمی با ساختار او اس کلاس و کدنویسی اشنا باشین دیگه همه چی حله Big Grin
من یه راهنمایی کوچیک میکنم بقیه اش رو خودت بگیر تا آخر برو Big Grin
با تغییر زیر شما با کادر جستجو اصلی میتونید توی تمام فیلدهای اختصاصی جستجو کنید و کلمه مورد نظر را پیدا کنید دو سوته اگه بخواین محدودترش کنید باید یکمی با mysql اشنا باشین و کوئری دلخواه تون رو بزنید.
خب بریم سرغ آموزش:
فایل Search.php
توی مسیر
oc-includes\osclass\model


را باز کنید و در خطوط 918
کد زیر را
کد php:
                   $this->dao->where(sprintf("MATCH(d.s_title, d.s_description) AGAINST('%s' IN BOOLEAN MODE)"$this->sPattern) ); 


با کد زیر عوض کنید

کد php:
                   $this->dao->join(DB_TABLE_PREFIX.'t_item_meta as xx','xx.fk_i_item_id = '.DB_TABLE_PREFIX.'t_item.pk_i_id','LEFT');
 
                   $this->dao->where(sprintf("d.s_title LIKE '%%%s%%' OR xx.s_value LIKE '%%%s%%' OR d.s_description LIKE '%%%s%%'"$this->sPattern$this->sPattern$this->sPattern) ); 


حالا یه فیلد اختصاصی درست کن و یه مقداری بهش بده توی یه آگهی بعد برو همون مقدار رو توی باکس جستجو سرچ کن همون آگهی که فیلد رو زدی میاره. Wink

آقا مرتضی واقعا ممنون  Smile 
بازم دم هم وطنای خودم گرم. یک ماهه تو قسمت انگلیسی میپرسم کسی جواب نمیده
نمیدونم ازتون چجوری تشکر کنم. واقعا از ته دل هزار مرتبه ازت تشکر میکنم.

چند تا سوال داشتم در این باره:
1 - من برای جستجو از ورژن 9 تسئو استفاده میکنم. با این دستکاریی که کردم به مشکل برنخورم؟
http://forums.osclass.org/3-5-x/search-p...#msg113778
2 - با این کد همه کاستم فیلدزها رو میاره. من چیکار کنم که فقط تیک هر کدام رو که میزنم بیاره؟ و یا مثلا 2 تا که نیاز دارم رو تعریف کنم فقط اونها رو تو جستجو بیاره
3 - قبل از کد شما جستجوی من 3 کاراکتر پایین رو جستجو نمیکرد. ولی بعد از کد شما حتی 1 کاراکتر رو هم جستجو میکنه. بنظرت چرا اینجور شده؟

دوباره از شما تشکر میکنم و امیدوام در تمام مراحل زندگی موفق باشید

ویرایش:
من الان تست کردم دیدم وقتی کد شما رو اضافه میکنم جستجو از طریق مکان کار نمیکنه. یعنی متن جستجو رو که وارد میکنم با همه کشورها و شهرها جستجوی یکسان میاره. یعنی اگر در شهر ایکس ثبت شده باشه مثلا در همه شهرها جستجو رو میاره. بنظرتون چیکار کنم درست بشه؟ بدون کد شما این مشکل رو نداره. ممنون (تم: مادرن)
با احترام
  پاسخ
 سپاس شده توسط morteza
#6
ممنون شما لطف داری
سیستم جستجوی او اس کلاس توی دیتابیس به یه روش دیگه اس حداقل حروف سه حرف هست و دقیق تر ولی بعضی وقتا اعصاب خورد کن هست روشی که من گذاشتم روش رایج در کل سیستم ها هست برای جستجو در فیلدهای اختصاصی خاص گفتم باید با کوئری زدن اشنا باشین برای دیتابیس مثلا یه راهنمایی میکنم شما برای اینکه فیلد های اختصاصی خاصی رو جستجو کنین اول شماره ای دی اون فیلد اختصاصی رو از oc_t_meta_fields پیدا کنید سپس توی oc_t_item_meta ای دی بدست اورده رو چک کنید و جدول هایی که ای دی رو دارند بیرون بکشید.
فرصت کنم دوباره کامل براتون میزارم ولی الان درگیر بعضی کارها هستم فقط تونستم یه ذهنیت از دیتابیس و جستجوی او اس کلاس براتون درست کنم تا بقیه اش رو خودتون برید جلو اگه به مشکل برخوردین راهنماییتون میکنم دوباره.
  پاسخ
#7
(۱۳۹۵-۰۴-۱۳، ۱۲:۲۵ ب.ظ)morteza نوشته است: ممنون شما لطف داری
سیستم جستجوی او اس کلاس توی دیتابیس به یه روش دیگه اس حداقل حروف سه حرف هست و دقیق تر ولی بعضی وقتا اعصاب خورد کن هست روشی که من گذاشتم روش رایج در کل سیستم ها هست برای جستجو در فیلدهای اختصاصی خاص گفتم باید با کوئری زدن اشنا باشین برای دیتابیس مثلا یه راهنمایی میکنم شما برای اینکه فیلد های اختصاصی خاصی رو جستجو کنین اول شماره ای دی اون فیلد اختصاصی رو از oc_t_meta_fields پیدا کنید سپس توی oc_t_item_meta ای دی بدست اورده رو چک کنید و جدول هایی که ای دی رو دارند بیرون بکشید.
فرصت کنم دوباره کامل براتون میزارم ولی الان درگیر بعضی کارها هستم فقط تونستم یه ذهنیت از دیتابیس و جستجوی او اس کلاس براتون درست کنم تا بقیه اش رو خودتون برید جلو اگه به مشکل برخوردین راهنماییتون میکنم دوباره.

مرتضی
چشم منتظر میشم. ولی بخاطر اون سوال اخری که در ویرایش ازتون پرسیدم مجبور شدم از پروژه حذفش کنم. اگر لاععقل اون رو الان بگید به پروژم اضافه میکنم.
سوالم در اونجا این بود که اون کدی که شما گفتید رو وقتی ادیت کردم بعدش جستجو با مکان کار نکرد. یعنی مثلا یک جستجوی خاص که به یک شهر یا کشور خاصی اگهی شده رو تو همه کشورها و شهرها میاره. کدی که گفتید رو خیلی برسی کردم ولی نتونستم بفهمم چرا اونجوری میشه بعد از اضافه کردن اون کد. خواهشی که از شما دارم اینه که اون کدی که بالا به من گفتید رو بررسی کنید ببینید چرا وقتی اون رو اضافه میکنم جستجوی مکان از کار میوفته. ممنون. ولی در اخر اضافه کنم که جستجوی کاستم فیلدزهام با این روش خوب کار میکنند و همون چیزی که من میخواستمه. ولی بخاطر از کار افتادن جستجوی مکان مجبور شدم از پروژم حذفش کنم. این برام مهمه برای این دوباره سوال کردم.با احترام
با احترام
  پاسخ
تبلیغات
ads
#8
جستجو فکر نکنم ربطی داشته باشه به اون کد حالا دوباره بررسی میکنم البته یه شرط هم میشه گذاشت اصلا کلا راههای مختلفی داره حتی یه حالت داره نمیخواد اصلا هسته رو تغییر داد و با هوک این کار رو کرد حالا دوباره  بررسی میکنم ببینم من این هفته صرم بدجور شلوغه داریم واسه خونه کابینت میزنیم خودمون Big Grin واسه همین کلا وقت نمیکنم این هفته انشالله از هفته بعد یادم بنداز یه روشی میزارم
  پاسخ
#9
(۱۳۹۵-۰۴-۱۴، ۱۲:۳۰ ق.ظ)morteza نوشته است: جستجو فکر نکنم ربطی داشته باشه به اون کد حالا دوباره بررسی میکنم البته یه شرط هم میشه گذاشت اصلا کلا راههای مختلفی داره حتی یه حالت داره نمیخواد اصلا هسته رو تغییر داد و با هوک این کار رو کرد حالا دوباره  بررسی میکنم ببینم من این هفته صرم بدجور شلوغه داریم واسه خونه کابینت میزنیم خودمون Big Grin واسه همین کلا وقت نمیکنم این هفته انشالله از هفته بعد یادم بنداز یه روشی میزارم

مرتضی
نه ربط داره. چون وقتی کد شما رو میزارم جستجو از طریق مکان از کار میوفته و بعد که حذفش میکنم دوباره درست میشه.
هوک رو ول کن. هممین کدی که گفتی خیلی خوبه فقط مشکل جستجو مکان پیش میاد. اگه درست بشه همین کد خیلی عالیه.
کابینت خونتون هم مبارک باشه.
با احترام
با احترام
  پاسخ
#10
بررسی کردم اره با حالت لایک همه چی از کار می افته راحتترین روش جیکوری هست فیلد اختصاصی رو توی فرم جستجو قرار بده و بعد هیدنش کن و با جیکوری مقدار فیلد جستجو رو به فیلد اختصاصی قرار بده بدون هیچ دردسری Wink
  پاسخ
تبلیغات
ads


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  خطای جستجو sornagostar 2 123 ۱۳۹۶-۰۳-۱۴، ۰۳:۴۳ ب.ظ
آخرین ارسال: sornagostar
  عدم نمايش فيلد اختصاصي در جستجو stvstv 3 452 ۱۳۹۵-۱۱-۰۵، ۱۰:۰۳ ق.ظ
آخرین ارسال: morteza

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان
تبلیغات
ads