Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


cha0s
 Поделиться

Рекомендованные сообщения

Добрый день, расскажите как создать свой модуль простой хотя-бы который просто выводит надпись одну любую но только при нужном мне пути например /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 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.