تبدیل مقدار صفر تومان به رایگان در فروشگاه ساز 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 ساله خودش ، فوت‌وفن‌های خودش رو در اختیار شما قرار بده تا اون‌ها رو در جریان کاری‌تون بگنجونین و مهارت‌هاتون رو ارتقاء بدین.

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

پست های مرتبط

آی سی ام اس

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