تبدیل مقدار صفر تومان به رایگان در فروشگاه ساز J2store

تبدیل مقدار صفر تومان به رایگان در فروشگاه ساز J2store

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

ولی از آنجایی که اين امکان به صورت پیش فرض در فروشگاه ساز J2store وجود ندارد من در این آموزش روش حل این مشکل رو قدم به قدم برای شما توضیح خواهم داد تا شما بتوانید به جای مقدار صفر تومان عبارت رايگان یا هر عبارتی که مد نظرتان هست را در فروشگاه خود به نمايش در بیاورید.

برای اولین قدم ابتدا شما به مسیر زیر برید و یک کپی از فایل زیر بگیرید . در ابتدا لازم هست که این نکته رو بگم که در مسیر هایی که در ادامه هم قرار خواهم داد ، منظور از YOUR-SITE ، نام مسیر سایت شما در هاست و یا اسم آن هست و منظور از YOUR-SUB-LAYOUT منظور پوشه مادر و زیر پوشه تمپلت اصلی است که در اینجا و در این آموزش ما YOUR-SUB-LAYOUT را Bootstrap3 در نظر میگیریم.

خب ، برای شروع وارد مسیر زیر شوید :

/YOUR-SITE/components/com_j2store/templates/YOUR-SUB-LAYOUT/default_price.php

بعد از اینکه وارد مسیر بالا شدید فایل default_price.php رو کپی کرده و در مسیر زیر قرار دهید ، اگر هم چنین مسیری در قالب شما وجود نداشت ، شما میتوانید آن را بسازید :

/YOUR-SITE/templates/YOUR-TEMPLATE/html/com_j2store/templates/YOUR-SUB-LAYOUT/default_price.php

دقت کنید که مسیر اول در پوشه کامپوننت J2store بود اما مسیر دوم در پوشه html سایت شما است ، البته شما میتوانید در همون فایل اصلی کامپوننت تغییرات رو اعمال کنید اما دلیل من بر اصرار انجام اینکار این است که با اینکار حتی وقتی شما J2store را آپدیت هم بکنید دیگر نیازی به تغییر مجدد نیست بلکه  فایل درونه پوشه HTML قالب شما همیشه اولیت برتری نسبت به فایل های درون کامپوننت شما دارند.

سپس فایل default_price.php را باز کنید و خط زیر را در آن بیابید :

<div itemprop="offers"  class="product-price-container">

سپس خط بالا را با کد زیر جایگزین کنید :

<div itemprop="offers"  class="product-price-container">
		<?php if($this->product->pricing->price > 0): ?>

و همچنین این خط را هم پیدا کنید :

<?php echo J2Store::product()->displayPrice($this->product->pricing->price, $this->product, $this->params);?>
		</div>
    <?php endif; ?>

و با کد زیر جایگزین کنید :

<?php echo J2Store::product()->displayPrice($this->product->pricing->price, $this->product, $this->params);?>
		</div>
    <?php endif; ?>
<?php else: ?>
			<span class="free-product">
			<?php echo JText::_('J2STORE_PRICE_FREE'); ?>
			</span>

			<span class="free-product-batch">
			<?php echo JText::_('J2STORE_PRICE_FREE_BATCH'); ?>
			</span>
	<?php endif; ?>

همچنین تمام این مراحل را برای فایل view_price.php انجام دهید ، یعنی ابتدا یک کپی از فایل گرفته و در پوشه html قالب خود و در مسیری که ذکر شده است قرار دهید و کد هایی که در زیر ذکر میشود را پیدا و سپس جایگزین کنید.

کد زیر را پیدا کرده :

<div itemprop="offers"  class="product-price-container">

و سپس با کد زیر جایگزین کنید

<div itemprop="offers"  class="product-price-container">
		<?php if($this->product->pricing->price > 0): ?>

همچنین این خط را پیدا کنید :

		<?php $sale_price = J2Store::product()->displayPrice($this->product->pricing->price, $this->product, $this->params); ?>
		<div class="sale-price">							
				<?php echo $sale_price;?>				
		</div>
	<?php endif; ?>

و با این خط جایگزین کنید :

		<?php $sale_price = J2Store::product()->displayPrice($this->product->pricing->price, $this->product, $this->params); ?>
		<div class="sale-price">							
				<?php echo $sale_price;?>				
		</div>
	<?php endif; ?>
		<?php else: ?>
			<span class="free-product">
			<?php echo JText::_('J2STORE_PRICE_FREE'); ?>
			</span>

			<span class="free-product-batch">
			<?php echo JText::_('J2STORE_PRICE_FREE_BATCH'); ?>
			</span>
	<?php endif; ?>

حالا به مسیر زیر برید و فایل مربوطه رو باز کنید :

/YOUR-SITE/administrator/language/fa-IR/fa-IR.com_j2store.ini

در اینجا باید نوشته ای را که در کد های بالا قرار دادیم تا عبارت رایگان نمایش داده شود را وارد کنیم البته این نکته رو هم بگم که میتونید در فایل language خود قالب هم قرار بدید.

حال خط های زیر را در فایل زبان فارسی J2store وارد کنید. مهم نیست در چه خطی وارد میکنی ، برای راحتی کار میتونید در همون خط های اول قرار بدید :

J2STORE_PRICE_FREE="رایگان"
J2STORE_PRICE_FREE_BATCH="هم اکنون رایگان دریافت کنید"

 همینطور که میبنید ما کدهایی که در مراحل قبلی به صورت php قرار دادیم به صورت خودکار فایل های زبان را در سایت و قسمت language جستجو میکنند و متنی رو که برای نمایش قرار دادید رو نمایش میده.

خوب با انجام مراحل بالا عدد صفر در صفحه محصولات کامپوننت J2store حذف شده و به جای آن عبارت رایگان و هم اکنون رایگان دریافت کنید نمایش داده میشود. 

در J2store برای حذف صفر در سایر قسمت ها هم باید فایل های جداگانه ای را تغییر بدید ، برای مثال با انجام مراحل بالا فقط عدد صفر در صفحه محصول به صورت متن نمایش داده میشود ولی در قسمت محصولات مرتبط ، ماژول اسلایدر و آخرین محصولات هنوز هم صفر نمایش داده میشود که برای حل این مشکل هم مراحلی را که در ادامه توضیح میدم رو کافیه دنبال کنید.

در ماژول mod_j2products فروشگاه ساز J2store دو نوع SUB-LAYOUT یا به عبارتی زیر لایه برای نمایش محصولات داریم یکی به نام Bootstrap3 و دیگری به نام Carousel است که بسته به نوع انتخابتون در ماژول باید تغییر بدید که عدد صفر تبدیل به متن بشه یعنی اگر شما ماژول رو روی حالت Carousel بزارید باید حتما فایل درون پوشه Carousel رو تغییر بدید در غیر این صورت نوشته همان صفر خواهد بود که من در این آموزش هر دو زیر لایه رو بهتون میگم تا هر کدوم رو انتخاب کردید تبدیل به متن بشه.

برای قدم اول وارد مسیر زیر بشید و از فایل یک کپی بگرید :

/YOUR-SITE/modules/mod_j2products/tmpl/YOUR-SUB-LAYOUT/default.php

در این قسمت YOUR-SUB-LAYOUT شما همان فولدر Bootstrap3 و Carousel میشه که در پوشه tmpl ماژول موجود هست.سپس از فایل هایی که کپی گرفتید در مسیر زیر قرار بدید.

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

/YOUR-SITE/templates/YOUR-TEMPLATE/html/mod_j2products/YOUR-SUB-LAYOUT/default.php

سپس خط زیر را در فایل هایی که در مسیر بالا قرار دادید رو پیدا کنید :

<div itemprop="offers"  class="product-price-container">
		<?php if($product->show_price && $product->show_special_price):?>

و با خط زیر جایگزین کنید :

<div itemprop="offers"  class="product-price-container">
		<?php if($product->show_price && $product->show_special_price):?>
<?php if($product->pricing->price > 0): ?>

و همینطور این خط رو در فایل ها پیدا کنید :

<div class="sale-price">
				<?php echo J2Store::product()->displayPrice($product->pricing->price, $product, $j2params);?>
			</div>

و با خط زیر جایگزین کنید :

<div class="sale-price">
				<?php echo J2Store::product()->displayPrice($product->pricing->price, $product, $j2params);?>
			</div>
		<?php else: ?>
				<span class="free-product">
				<?php echo JText::_('J2STORE_PRICE_FREE'); ?>
				</span>

				<span class="free-product-batch">
				<?php echo JText::_('J2STORE_PRICE_FREE_BATCH'); ?>
				</span>
		<?php endif; ?>

خب ، تا اینجای کار تونستید متن رایگان رو توی ماژول محصولات J2store هم نشون بدید و تنها یک قسمت مونده که اون هم قسمت محصولات مرتبط در J2store هست.برای اینکار هم باید عین مراحل بالا کارها رو انجام بدید منتها مسیر و کد ها فرق دارند که براتون توضیح خواهم داد.

در ابتدا وارد مسیر زیر بشید و از فایل یک کپی بگیرید :

/YOUR-SITE/components/com_j2store/templates/default/price.php

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

/templates/YOUR-TEMPLATE/html/com_j2store/templates/YOUR-SUB-LAYOUT/price.php

نکته : در این آموزش YOUR-SUB-LAYOUT ما همان پوشه Bootstrap3 است.

سپس در فایل بالا ، خط زیر رو پیدا کنید :

<?php if($params->get('item_show_product_base_price', 1) && $product->pricing->base_price != $product->pricing->price): ?>
			<?php $class='';?>
			<?php if(isset($product->pricing->is_discount_pricing_available)) $class='strike'; ?>
			<div class="base-price <?php echo $class?>">
					<span class="product-element-value">
						<?php echo J2Store::product()->displayPrice($product->pricing->base_price, $product, $params);?>
					</span>
			</div>
		<?php endif; ?>

و با این خط جایگزین کنید :

<?php if($params->get('item_show_product_base_price', 1) && $product->pricing->base_price != $product->pricing->price): ?>
			<?php $class='';?>
				<?php if($this->product->pricing->price > 0): ?>
			<?php if(isset($product->pricing->is_discount_pricing_available)) $class='strike'; ?>
			<div class="base-price <?php echo $class?>">
					<span class="product-element-value">
						<?php echo J2Store::product()->displayPrice($product->pricing->base_price, $product, $params);?>
					</span>
			</div>
		<?php endif; ?>

و همچنین این خط رو پیدا کنید :

<?php if($params->get('item_show_product_special_price', 1)): ?>
		<div class="sale-price">
			<span class="product-element-value">
				<?php echo J2Store::product()->displayPrice($product->pricing->price,  $product, $params);?>
				</span>
		</div>
	<?php endif; ?>

و با خط زیر جایگزین کنید :

	<?php if($params->get('item_show_product_special_price', 1)): ?>
		<div class="sale-price">
			<span class="product-element-value">
				<?php echo J2Store::product()->displayPrice($product->pricing->price,  $product, $params);?>
				</span>
		</div>
	<?php endif; ?>
<?php else: ?>
		<span class="free-product">
		<?php echo JText::_('J2STORE_PRICE_FREE'); ?>
		</span>

		<span class="free-product-batch">
		<?php echo JText::_('J2STORE_PRICE_FREE_BATCH'); ?>
		</span>
<?php endif; ?>

با این روش شما تونستید بجای مقدار عدد صفر برای محصولات مجانی متنی رو تحت عنوان نوشته رایگان را در صفحه محصولات ، در ماژول و هم محصولات مرتبط نمایش بدید که نشون دهنده حرفه ای تر شدن فروشگاه شما می باشد.

اگر مشکلی در اجرای این مراحل داشتید در قسمت نظرات باهامامون در میان بزارید ツ

نوشته شده با عشق

محمدحسین نیازی اولش طراحی گرافیکی و رابط کاربری می کرده بعد ها کارشناسی نرم افزارشو گرفته و به کد زنی علاقه مند میشه ، تا اینکه تیم طراحی استودیو لاوان رو راه میندازه و بعدش میره سر وقت آی سی ام اس و الان اون اینجاست تا با تجربه بیش از 12 ساله خودش ، فوت‌وفن‌های خودش رو در اختیار شما قرار بده تا اون‌ها رو در جریان کاری‌تون بگنجونین و مهارت‌هاتون رو ارتقاء بدین.

محمدحسین نیازی

پست های مرتبط

15 دیدگاه تاکنون ارسال شده
  • حمید
    مهمان
    سلام جناب نیازی من اولین کد رو نتونستم توی فایل default_price و view_price پیدا کنم کد رو بصورت جزء به جزء هم جستجو کردم اما پیدا نشد کل کدهای فایل view پنجاه خط هستش. فایلم مشکل داره؟
    • محمدحسین نیازی
      مدیر
      در پاسخ به حمید. گفته :
      سلام حمید جان توی جی تو استور نسخه های جدید یکمی تغییر داشته ، اما کلیت کدها همین هستند مثلا ممکنه itemprop ها در کدها حذف شده باشند اما کدهای اصلی جای خودشون هستند شاید خط هاشون فرق کرده اما کلیت همین ها هستند که میتونید با جایگزین کردن کدها و کمی تغییرات خروجی درست رو ازشون بگیرید انشالله جی تو استور نسخه 4 ریلیز بشه و این آموزش برای اون نسخه رو آپدیت خواهم کرد.
      • حمید
        مهمان
        در پاسخ به محمدحسین نیازی. گفته :
        جناب نیازی مشکلم با استایل کلمه رایگان هم حل شد. برای کلاس free-product در فایل template.css یک استایل جدا تعریف کردم و درست شد. از آموزش خوبتون متشکرم
      • حمید
        مهمان
        در پاسخ به محمدحسین نیازی. گفته :
        سلام مجدد جناب نیازی عمل جایگزینی رایگان بجای صفر رو انجام دادم اما مشکلی که هست اینه که استایل مناسبی نداره. از کلاس product-price-container ارث بری نمیکنه که مثل باقی قیمتها در جای مناسب قرار بگیره. سعی کردم به کلاس free-product در فایل template.css هم استایل بدم ولی قبول نمیکنه. چطور میتونم درستش کنم؟
        • محمدحسین نیازی
          مدیر
          در پاسخ به حمید. گفته :
          سلام حمیدجان کلمه رایگان رو در کدوم فایل php قرار دادی ؟ اگر فقط متن رو قرار دادی بهتره متن رو درون یک کلاس بزاری تا اونم کلاس خودشو داشته باشه و بتونی بهش استایل بدی
          • ai
            مهمان
            در پاسخ به محمدحسین نیازی. گفته :
            سلام محمد جان منم مشکل آقا حمید رو داشتم. کلمه رایگانو نمیتونم درست استایل دهی کنم! کلمه رایگانو توی هیچ فایل php قرارندادم. فقط توی فایل fa-IR.com_j2store.ini کلمه رایگانو گذاشتم. لطفا راهنمایی میکنید؟
            • محمدحسین نیازی
              مدیر
              در پاسخ به ai. گفته :
              سلام اگر طبق همین روش جلو رفته باشید ، free-product و free-product-batch دوتا کلاس رایگان هستند که میتونید هر طور خواستید بهش درون فایل سی اس اس قالب ، استایل بدید
  • کریم
    مهمان
    سلام آیا این تنظیمات رو میشه توی نسخه 3 هم انجام داد؟ من توی فایل view_price.php تونستم خط اولی که گفتید رو پیدا کنم اما خط دوم توی این فایل نیست. میشه لطفا راهنمائیم کنید.ممنون
    • محمدحسین نیازی
      مدیر
      در پاسخ به کریم. گفته :
      سلام، بله برای نسخه 3 هم این اموزش صدق میکنه و تست شده وارد مسیر زیر اگر بشید و سرچ کنید اون خط رو پیدا میکنید component/com_j2store/templates/Bootstrap3 /price.php توی سرچ ممکن هست یکمی فاصله کم و زیاد باشه ، در این صورت قسمتی از کد رو سرچ کنید پیداش میکنید
  • پریسا
    مهمان
    بسیار بسیار ممنونم خیلی چیزا از سایتتون یاد گرفتم همینطور ادامه بدید
  • اکرم
    مهمان
    خیلی بدردم خورد مرسی
  • یونس
    مهمان
    آموزش های افزونه های تخصصی جوملا چقد کمه توی وب فارسی امیدوارم همینجوری که هستید پیش برید موفق باشید
  • محمود رضا
    مهمان
    توضیحات عالی بود ولی برای من هنوز توی ماژول صفر هست ولی بقیه قسمت ها اوکی شده مشکل از کجاست ؟
    • محمدحسین نیازی
      مدیر
      در پاسخ به محمود رضا. گفته :
      اگر مراحل رو قدم به قدم دنبال کرده باشی حتما جواب میده فقط این نکته رو یادتون نره که توی ماژول j2store یه قسمت به نام Sub template که اگر روی Carousel باشه زیر لایه تمپلتتون میشه Carousel هر چند با این روشی گفتم روی هر حالتی بزارید صفر تبدیل به نوشته رایگان یا هرچیزی که خودتون بزارید میشه موفق باشید
      • محمود رضا
        مهمان
        در پاسخ به محمدحسین نیازی. گفته :
        درست بود من یه کدومشو انجام دادم عین شما همشونو انجام دادم حل شد خیلی خیلی ممنونم عالی هستید
ارسال نظر
در پاسخ به Some User

آی سی ام اس

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