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

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

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

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


تبلیغات
ads
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
فانکشن منطقه
#1
سلام
در دو صفحه item-edit.php و item-post.php این فانکشن منطقه آگهی رو میگیره و میزاره تو دیتابیس:

کد php:
<?php ItemForm::city_area_text() ; ?>

کاری که من میخوام بکنم این است که هر چی کاربر وارد کرد اولش یک چیزی اضافه کنم و بعد بزارم تو دیتابیس
مثلا اگر کاربر وارد کرد: "Valiasr" به این صورت در دیتابیس ذخیره بشه: "R_Valiasr"
اگر لطف کنید و جواب این رو بدید ممنون میشم
با احترام
  پاسخ
تبلیغات
ads
#2
یه هوک هس که میتونید قبل از ارسال آگهی هر تغییر رو بدین فکر کنم بشه این هوکه هس pre_item_post
بعد میتونی با جیکوری هم انجام بدی یه فیلد هیدن قرار بدی و تغییرات رو اونجا انجام بدی
  پاسخ
#3
(۱۳۹۶-۰۷-۲۰، ۰۲:۰۳ ب.ظ)morteza نوشته است: یه هوک هس که میتونید قبل از ارسال آگهی هر تغییر رو بدین فکر کنم بشه این هوکه هس pre_item_post
بعد میتونی با جیکوری هم انجام بدی یه فیلد هیدن قرار بدی و تغییرات رو اونجا انجام بدی

هوک رو بلد نیستم اگر یک اموزش ویدیویی هوک هست ممنون میشم بدید تا یاد بگیریم تا بسیاری از مشکلات رو با هوک درست کنیم. در مورد راه دوم من خودم با فیلد هیدن که در تاپیک قبلی داده بودی تلاش کردم تا این کار رو بکنم ولی در value نمیتونم R_ رو بعلاوه داده کاربر کنم. اگر کمک کنی ممنون میشم
با احترام
  پاسخ
#4
ببینید ویدیوی آموزشی خاصی نمیخواد به زودی آموزش های ویدیویی در این باره حتما منتشر میکنم
ولی برای استفاده از هر هوک که در او اس کلاس هس باید یک تابع تعریف کنین و تغییرات رو بهش بدین تا اجرا بشه
مثلا واسه تغییر همین موردی که گفتین از تابع زیر در یک پلاگین که در سایت فعال هست قرار بدین در فایل ایندکس یا در تابع فانکش قالب بزارید
البته این تابع رو تست نکردم ولی امتحان کنید
کد php:
function change_city_area($aItem){
 
                   $aItem['cityArea'] = 'R_'$aItem['cityArea'];
 
                   return $aItem;
 
               }
 
               osc_add_hook('pre_item_add''change_city_area'); 

در مورد تگ هیدن هم از طریق جیکوری باید انجام بدین و نیاز به آشنایی با جیکوری هست

یادم رفت بگم اکثر هوک های مهم در این قسمت هست (هوک ها) بررسی کنید.
  پاسخ
تبلیغات
ads
#5
(۱۳۹۶-۰۷-۲۱، ۱۲:۳۴ ق.ظ)morteza نوشته است: ببینید ویدیوی آموزشی خاصی نمیخواد به زودی آموزش های ویدیویی در این باره حتما منتشر میکنم
ولی برای استفاده از هر هوک که در او اس کلاس هس باید یک تابع تعریف کنین و تغییرات رو بهش بدین تا اجرا بشه
مثلا واسه تغییر همین موردی که گفتین از تابع زیر در یک پلاگین که در سایت فعال هست قرار بدین در فایل ایندکس یا در تابع فانکش قالب بزارید
البته این تابع رو تست نکردم ولی امتحان کنید
کد php:
function change_city_area($aItem){
 
                   $aItem['cityArea'] = 'R_'$aItem['cityArea'];
 
                   return $aItem;
 
               }
 
               osc_add_hook('pre_item_add''change_city_area'); 

در مورد تگ هیدن هم از طریق جیکوری باید انجام بدین و نیاز به آشنایی با جیکوری هست

یادم رفت بگم اکثر هوک های مهم در این قسمت هست (هوک ها) بررسی کنید.


این کد شما رو گذاشتم تو functions.php ولی کار نکرد

توضیح:
من هم واسه item-post.php و هم واسه item-edit.php میخوام.
یعنی وقتی در صفحه item-post.php کاربر city_area را وارد میکنه: "Valiasr" تو دیتابیس وارد شه: "R_Valiasr"
و چون نمیخوام کاربر بفهمه من R_ اضافه کردم، در صفحه item-edit.php از دیتابیس "R_Valiasr" رو بگیره و 3 رقم اولش رو کات کنه و به کاربر "Valiasr" نشون بده. و بعد دوباره کاربر به هر چی ویرایش کرد و یا نکرد دوباره R_ رو اضافه کنه به اون و بزاره تو دیتابیس.
لطفا کمک کنید این رو انجام بدم
با احترام
  پاسخ
#6
خب تابع رو بزارید داخل یک افزونه ببنید کار میکنه؟
اگر کار نکرد از جیکوری استفاده کنید راحتترین و سخترین راه Big Grin
  پاسخ
#7
(۱۳۹۶-۰۷-۲۴، ۰۱:۱۵ ب.ظ)morteza نوشته است: خب تابع رو بزارید داخل یک افزونه ببنید کار میکنه؟
اگر کار نکرد از جیکوری استفاده کنید راحتترین و سخترین راه Big Grin

افزونه چیه؟  Confused

لطفا بیشتر توضیح بدید  Smile
با احترام
  پاسخ
تبلیغات
ads
#8
همین تابع بالا رو داخل یک افزونه مثلا افزونه جلالی بزارید ببینید درست کار میکنه
  پاسخ
#9
(۱۳۹۶-۰۷-۲۵، ۰۱:۲۷ ب.ظ)morteza نوشته است: همین تابع بالا رو داخل یک افزونه مثلا افزونه جلالی بزارید ببینید درست کار میکنه

مرتضی،
اگر منظورتون از افزونه، plugin است بله این کار رو کردم کار نکرد.
با احترام
  پاسخ
#10
داخل تابع بالا یه die(); بزارید ببینید اصلا کار میکنه یا نه؟
  پاسخ
تبلیغات
ads


کاربرانی که از این موضوع دیدن کرده اند ؟
2کاربر از این موضوع دیدن کرده اند :
morteza (دیروز, ۰۱:۳۱ ب.ظ)، zobu (امروز, ۰۸:۴۹ ق.ظ)

پرش به انجمن:


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