Mohsen Shahbazi

ارسال پارامتر برای پلاگین از Article

2 پست در این موضوع

درود به دوستان قدیمی تو انجمن :)

من به یک مشکل برخوردم که هرچی سرچ کردم چیزی پیدا نکردم ممنون میشم اگر کسی می دونه جوابی بهم بده حتی اگر دقیق هم نمی دونید راهنمایی کنید تا مشکلم رو حل کنم

مشکل من:

من یک پلاگین نوشتم که کارش اینه که یک ویدئو + یک تصویر و یک سری Details رو که مربوط به اون تصویر و ویدئو هست رو در یک جدول نمایش میده ، بدون مشکل، از طریق مدیریت جوملا هم پارمترهایی رو مثل نمایش لینک دانلود یا عدم نمایش لینک دانلود و.. براش تعریف کردم. حالا مشکل من اینجاست که میخوام

هر بار که کاربر از پلاگین در مطلب استفاده کرد بتونه طول و عرض ویدئو و مسیرش رو هم توی همون مطلب بده ممنون میشم اگر کسی چیزی می دونه هرچند اندک بهم بگه:25:

<?php

defined ('_JEXEC') or die();

jimport('joomla.pugin.plugin');
jimport('joomla.html.parameter');


class plgContentaddtable extends JPlugin
{

   public function onContentPrepare ($context , &$article , &$params , $page=0)
   {


        $regular = '/{addtable}/i';

        $count = array();
        preg_match_all($regular ,$article->text , $count);


       $result = '<table  width="400" height="200" ><tr><td>مسیر تصویر اول</td><td>متن نمونه دوم</td><td>لینک بازگشت</td></tr></table>';

       foreach ($count[0] as $item)
       {

           $article->text = preg_replace($regular , $result , $article->text);
       }


   }

}


?>

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

کافیه شما مقدار خودت رو به این شکل وارد کنی:

$regular = '{addtable}\(400)(350)(images/video/video1.flv){/addtable}';

در کدهای بالا میبینی که طول ، عرض و مسیر ویدئو داخل پرانتزهایی قرار گرفته

حالا کاری که باید بکنی اینه که در پلاگین نوع content خودت داخل این پرانتزها رو بخونی و اولین پرانتز رو به عنوان طول ، دومی به عنوان عرض و سومی رو به عنوان مسیر در نظر بگیری

برای خوندن پرانتزها هم در پلاگین نوع content از این دستورات استفاده کن:

$regex = '/{addtable}\(.*\)\(.*\)\(.*\){\/addtable}/';
$regexsplit = '/\((.*?)\)/';
   $matches = array();
    // find all instances of plugin and put in $matches
   preg_match_all( $regex, $row->text, $matches );

    $count = count( $matches[0] );

    foreach ($matches[0] as $elm) 
    {
       preg_match_all( $regexsplit, $elm , $nonparantheses );
       $html=getVideoTemplate($nonparantheses[1]);
       $row->text = preg_replace($regex, $html, $row->text, 1);
   }

در کدهای بالا تابع getVideoTemplate تابعی هست که مقدار هر سه پرانتز به صورت آرایه براش ارسال میشه

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری