Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

как создать свой простой модуль


cha0s

Recommended Posts

Добрый день, расскажите как создать свой модуль простой хотя-бы который просто выводит надпись одну любую но только при нужном мне пути например /index.php?route=tratata/privet , как мне это? Можно набросать быстро? я понимаю что мне нужен для этого простой Controller, модель(пусть она только return 'dasdsadas'; делает), и шаблон... что-то не получается сделать чтоб работал путь... объясните плиз)

 

В АДМИНКЕ ОН МНЕ НЕ НУЖЕН, только на ФРОНТЕ, или мне надо обязательно чтоб он был и в админке?

 

мне надо файлы только размещать в

catalog/controller/......

catalog/model/........

catalog/language/english/.....

catalog/view/theme/.......

 

или еще где-то? чтоб у меня все работало? а где нужно прописывать route? ну чтоб модуль только работал при нужном мне пути....

 

этого только достаточно чтоб сделать чтоб это выполнялось по пути мне нужному route? если можно покажите самый простой пример данного примера... задача просто вывести какую-ту строку на фронте, когда заходят по нужному мне пути... в интернете мало информации как-то по этому вопросу, есть но не то что надо, и как-то не получается сделать( Версия опенкарта 1.5.4

Надіслати
Поділитися на інших сайтах


Вот именно по такой и делал:) route не работает... и там нету примеров Contollera, Modeli, и шаблона, взять описание модели например... 

 

class Modelpricelistprice extends Model {

}

 

это все описание) помогите сделать чтоб работало( можно даже опустить языковой раздел. Ладно покажу пример:

 

Controller

<?php
class ControllerModuleMyModule extends Controller {
	protected function index() {
		$this->language->load('module/my_module');
      	        $this->data['heading_title'] = $this->language->get('heading_title');


		$this->load->model('module/my_module');

		$this->data['customers'] = $this->model_module_my_module->getblalala();

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/my_module.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/module/my_module.tpl';
		} else {
			$this->template = 'default/template/module/my_module.tpl';
		}

		$this->render();
	}
}
?>

Model

<?php

class ModelModuleMyModule extends Model {
	function getblalala() {
		return 'dasdasdasdasdaads';
	}
	
}

?>

View

<div class="box">
  <div class="box-heading"><?php echo $heading_title; ?></div>
  <div class="box-content" style="text-align: center;">
  testestetafasfsafafsafasfada
  </div>
</div>

Языковой не буду приводить там все просто, ну и теперь как мне сделать чтоб эта хрень выводилась мне по нужному мне /index.php?route=module/mymodule ? :( как-бы не получается так как в примере что ты скинул по ссылки... или что-то еще не хватает?

Надіслати
Поділитися на інших сайтах


1. catalog/controller/tratata/privet.php:

<?php 
class ControllerTratataPrivet extends Controller {
	public function index() {  
    $this->language->load('tratata/privet');
		$this->document->setTitle($this->language->get('heading_title'));
		
		$this->data['breadcrumbs'] = array();
    $this->data['breadcrumbs'][] = array(
      'text'      => $this->language->get('text_home'),
			'href'      => $this->url->link('common/home'),
      'separator' => false
    );
			
      $this->data['breadcrumbs'][] = array(
        'text'      => $this->language->get('heading_title'),
				'href'      => $this->url->link('tratata/privet'),      		
        'separator' => $this->language->get('text_separator')
      );		

		$this->data['heading_title'] = $this->language->get('heading_title');

			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/tratata/privet.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/tratata/privet.tpl';
			} else {
				$this->template = 'default/template/tratata/privet.tpl';
			}
			
			$this->children = array(
				'common/column_left',
				'common/column_right',
				'common/content_top',
				'common/content_bottom',
				'common/footer',
				'common/header'
			);
						
	  		$this->response->setOutput($this->render());
  }
}
?>

2. catalog/language/russian/tratata/privet.php:

<?php
$_['heading_title'] = 'Привет, Мир!';
?>

3. catalog/language/english/tratata/privet.php:

<?php
$_['heading_title'] = 'Hello, World!';
?>

4. catalog/view/theme/default/template/tratata/privet.tpl:

<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
<div id="content"><?php echo $content_top; ?>
  <div class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
    <?php } ?>
  </div>
  <h1><?php echo $heading_title; ?></h1>
  <?php echo $content_bottom; ?></div>
<?php echo $footer; ?>

Модуль доступен по адресу: mysite/index.php?route=tratata/privet

  • +1 4
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.