Jump to content
  • 0

Problem z dziedziczeniem po module


jacek_s

Question

Zamierzam zrobić moduł bazując na innym:


<?php


class dsada extends blocktopmenu
{
public function __construct()
{


}
};?>

Jak wyłączę moduł źródłowy wywala mi:

[PrestaShop] Fatal error in module file :C:\xampp\htdocs\dashboard\testy\prestashop\modules\blocktopmenu\blocktopmenu.php:
Cannot redeclare class Blocktopmenu

Jak mam prawidłowo dziedziczyć po tym module?

Edited by jacek_s (see edit history)
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

No to zrobiłem:

<?php
if (!defined('_PS_VERSION_'))
  exit;
 
class BlocktopmenuOverride extends Blocktopmenu
{
	public function __construct()
	{
		$this->name = 'BlocktopmenuOverride';
	}
	
	protected function generateCategoriesMenu($categories, $is_children = 0)
	{
		$html = '';
	
		foreach ($categories as $key => $category) {
			if ($category['level_depth'] > 1) {
				$cat = new Category($category['id_category']);
				$link = Tools::HtmlEntitiesUTF8($cat->getLink());
			} else {
				$link = $this->context->link->getPageLink('index');
			}
	
			/* Whenever a category is not active we shouldnt display it to customer */
			if ((bool)$category['active'] === false) {
				continue;
			}
	
			$html .= '<li'.(($this->page_name == 'category'
					&& (int)Tools::getValue('id_category') == (int)$category['id_category']) ? ' class="sfHoverForce"' : '').'>';
					$html .= '<a href="'.$link.'" title="'.$category['name'].'">'.$category['name'].'</a>';
	
					if (isset($category['children']) && !empty($category['children'])) {
						$html .= '<ul>';
						$html .= $this->generateCategoriesMenu($category['children'], 1);
	
						if ((int)$category['level_depth'] > 1 && !$is_children) {
							$files = scandir(_PS_CAT_IMG_DIR_);
	
							if (count(preg_grep('/^'.$category['id_category'].'-([0-9])?_thumb.jpg/i', $files)) > 0) {
								$html .= '<li class="category-thumbnail">';
	
								foreach ($files as $file) {
									if (preg_match('/^'.$category['id_category'].'-([0-9])?_thumb.jpg/i', $file) === 1) {
										$html .= '<div><img src="'.$this->context->link->getMediaLink(_THEME_CAT_DIR_.$file)
										.'" alt="'.Tools::SafeOutput($category['name']).'" title="'
												.Tools::SafeOutput($category['name']).'" class="imgm" /></div>';
									}
								}
	
								$html .= '</li>';
							}
						}
	
						$html .= '</ul>';
					}
	
					$html .= '</li>';
		}
	
		return $html;
	}
};

?>

w C:\xampp\htdocs\dashboard\testy\prestashop\override\modules\Blocktopmenu\Blocktopmenu.php

 

i PrestaShop wogóle nie widzi modułu.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...