Jump to content
Sign in to follow this  
GoodSpeed

Перенос модуля на другую страничку сайта

Recommended Posts

Всем привет. Помогите реализовать такую задачу: имеется модуль [W]ebme Sidebar Feedback , который, как известно показывается ТОЛЬКО в левой или правой полосе сайта. Необходимо его перенести, скажем, на страничку http://test.ru/index.php?route=information/new.

Т.е. получается как бы 2 вопросика:

1) Как создать страницу /index.php?route=information/new ?

2) Как запихать туда модуль [W]ebme Sidebar Feedback?

Share this post


Link to post
Share on other sites

Меня вот в этой теме https://opencartforum.com/topic/5587-%d0%ba%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b2%d0%b5%d1%81%d1%82%d0%b8-%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d1%8c-%d0%b2-header/

тоже интересует примерно тот же вопрос,что и Вас,а точнее как вынести модуль в header,я там даже написал как вывести по сути в произвольное место модуль категорий и модуль информации.Но из тех примеров , что я привел всеравно не могу понять по какому принципу любой модуль можно вынести в произвольное место на сайте

Share this post


Link to post
Share on other sites

Ну так что, кто силен в данной теме...милости просим, товарисчи!

Share this post


Link to post
Share on other sites

попробуйте вот так способ

Спасибо за ссыль. Попробуем и....отпишемся :)

Share this post


Link to post
Share on other sites

попробуйте вот так способ

Скажите а можно ли по такому же принципу как Вы показали вывести модуль в header или на странице home.tpl ?

Просто немного запутался читая способ который Вы описали,Вы вроде как клонировали всю левую колонку,а меня вот интересует получится ли по такой инструкции вывести к примеру html модуль в шапке сайта или на главной странице. Для примера того что хочу сделать вот картинку нарисовал

Изображение

Share this post


Link to post
Share on other sites

Скажите а можно ли по такому же принципу как Вы показали вывести модуль в header или на странице home.tpl ?

Просто немного запутался читая способ который Вы описали,Вы вроде как клонировали всю левую колонку,а меня вот интересует получится ли по такой инструкции вывести к примеру html модуль в шапке сайта или на главной странице. Для примера того что хочу сделать вот картинку нарисовал

Изображение

таким способом можно что угодно вывести куда угодно

и я не клонировал всю левую колонку я клонировал место вывода если русским языком выражаться

к чему я собственно веду я клонировал вот это <?php echo $column_left1; ?> назвал его так чтобы проще понять было оказалось запутал

отвечая на Ваш вопрос его можно назвать <?php echo $modul_v_header; ?> ну или как там оно Вам удобнее :-)

в итоге в том месте куда мы воткнем вывод <?php echo $column_left1; ?> появится тот модуль который вы назначили этому выводу

посмотрев на Ваш скриншот Вам вообще не надо ничего делать так как вывод того что Вы хотите и так есть для home.tpl он так и называется в настройках модуля вывод на главной, а вот что Вы хотите вывести в шапку я так и не увидел если это слайдер с замком и он только на главной что обычно и бывает Вам тоже делать ничего не надо если хотите на всех страницах то тут надо смотреть что за модуль возможно проще будет пару строк добавить в header.tpl

  • +1 1

Share this post


Link to post
Share on other sites

таким способом можно что угодно вывести куда угодно

и я не клонировал всю левую колонку я клонировал место вывода если русским языком выражаться

к чему я собственно веду я клонировал вот это <?php echo $column_left1; ?> назвал его так чтобы проще понять было оказалось запутал

отвечая на Ваш вопрос его можно назвать <?php echo $modul_v_header; ?> ну или как там оно Вам удобнее :-)

в итоге в том месте куда мы воткнем вывод <?php echo $column_left1; ?> появится тот модуль который вы назначили этому выводу

посмотрев на Ваш скриншот Вам вообще не надо ничего делать так как вывод того что Вы хотите и так есть для home.tpl он так и называется в настройках модуля вывод на главной, а вот что Вы хотите вывести в шапку я так и не увидел если это слайдер с замком и он только на главной что обычно и бывает Вам тоже делать ничего не надо если хотите на всех страницах то тут надо смотреть что за модуль возможно проще будет пару строк добавить в header.tpl

Спасибо,попробую под себя переделать то что Вы написали.

По поводу скриншота,может быть я не корректно его нарисовал.

Вообще в идеале я хочу сделать вывод определенного модуля в файле home.tpl там идет такая структура

<?php echo $header; ?>

[b]<?php "место вывода модуля" ?>[/b]

<?php echo $column_left; ?><?php echo $column_right; ?>

<div id="content">
 
  <?php foreach ($modules as $module) { ?>
  <?php echo ${$module['code']}; ?>
  <?php } ?>
  
   <?php тут приветствие ?>
  
</div>
<?php echo $footer; ?>

т.е. сюда <?php "место вывода модуля" ?> я хочу научится выводить любой модуль, чтобы модуль выводился сразу после хедера

Share this post


Link to post
Share on other sites

скриншот Вы нарисовали как раз правильно но почему то упорно игнорируете вот это

<div id="content">
 
  <?php foreach ($modules as $module) { ?>
  <?php echo ${$module['code']}; ?>
  <?php } ?>

я уже несколько раз написал что в home.tpl и так выводятся практически все модули

но я начинаю догадываться что Вы путаете home.tpl и header.tpl

по русски первое это главная страница второе это шапка

я угадал ?

а если место именно это

<?php "место вывода модуля" ?>

то укажите в необходимом Вам модуле место главная и позиционирование 0 и модуль будет самым верхним и именно там где Вам надо на скриншоте

  • +1 1

Share this post


Link to post
Share on other sites

скриншот Вы нарисовали как раз правильно но почему то упорно игнорируете вот это

<div id="content">
 
  <?php foreach ($modules as $module) { ?>
  <?php echo ${$module['code']}; ?>
  <?php } ?>

я уже несколько раз написал что в home.tpl и так выводятся практически все модули

но я начинаю догадываться что Вы путаете home.tpl и header.tpl

по русски первое это главная страница второе это шапка

я угадал ?

а если место именно это

<?php "место вывода модуля" ?>

то укажите в необходимом Вам модуле место главная и позиционирование 0 и модуль будет самым верхним и именно там где Вам надо на скриншоте

Нет я ничего не путаю,ну в плане я хорошо понимаю где шапка а где шаблон главной страницы,а вот самого программирования не понимаю :)

Если в админк сделать то что вы написали да модуль конечно будет сверху,но проблема в том что там все модули "пачкой" выводятся и модуль будет выводится вместе с остальными в блоке

<div id="content">

</div>

а я как раз хочу чтобы допустим у меня шли три краткие новости сразу под шапкой (или если проще то просто хтмл модуль выводился сразу под шапкой)

При этом чтобы модуль был на всю ширину страницы,а уже после него шел бы вывод

<?php echo $column_left; ?> - левая колонка

<?php echo $column_right; ?> - правая колонка

<div id="content"> - тут все модули у которых стоит в админке "выводить на главной"

</div>

P.S. Проблема в том что у меня почему-о обьяснить не получается то что я хочу,хотя я думал скриншот в этом поможет, но похоже все только больше запуталось. Хотя суть все в том чтобы научится брать какой-то модуль и выводить его в произвольном месте на сайте.

Share this post


Link to post
Share on other sites

УРА

в общем то что я Вам давал ссылку Вам поможет

вот в то место что Вы указываете вставите вывод блока <?php echo $column_left1; ?> ну и потом в стилях там ему зададите ширину высоту или чего там потребуется вот как бы и все ну и можете потом еще один такой же создать если захотите что то в шапку поместить или куда то еще

  • +1 1

Share this post


Link to post
Share on other sites

УРА

...

Вы так рады,что поняли чего я хочу? :)

Я тоже рад,надеюсь получится сделать,но думаю еще вопросы могут походу возникнуть.

Share this post


Link to post
Share on other sites

Вы так рады,что поняли чего я хочу? :)

Я тоже рад,надеюсь получится сделать,но думаю еще вопросы могут походу возникнуть.

ну забегая вперед

в том моем описании мы делали это для 404 страницы соответственно вставляли в not_found.php вот это 'common/column_left1', в твоем случае это будет home.php ну а остальное без изменений

  • +1 1

Share this post


Link to post
Share on other sites

ну забегая вперед

в том моем описании мы делали это для 404 страницы соответственно вставляли в not_found.php вот это 'common/column_left1', в твоем случае это будет home.php ну а остальное без изменений

Большое спасибо Вам,snastik за помощь, все-таки все получилось. Долго же я продолбался с этим выводом. Кстати только когда начал делать до меня дошло , что это не совсем вывод модуля, а добавления позиции для вывода модуля. Может это конечно одно и тоже , а скорее всего так оно и есть , но я почему-то фразу "вывод именно модуля " в голову вбил :) :) :)

Осталось для полноты картины еще этот метод вывода модулей освоить - вывод модуля категорий в header.

<?php

$this->load->model('tool/seo_url');

$results = $this->model_catalog_category->getCategories();

if ($results) {$output = '<ul>';}

foreach ($results as $result) {

$output .= '<li>';

$new_path = $result['category_id'];

$unrewritten = HTTP_SERVER.'index.php?route=product/category&path=' . $new_path;

$rewritten = $this->model_tool_seo_url->rewrite($unrewritten);

$output .= '<a href="' . $rewritten . '">' . $result['name'] . '</a>';

$sub_results = $this->model_catalog_category->getCategories($new_path);

if ($sub_results) {$output .= '<ul>';}

foreach ($sub_results as $sub_result) {

$output .= '<li>';

$new_sub_path = $sub_result['category_id'];

$sub_unrewritten = $unrewritten.'_'. $new_sub_path;

$sub_rewritten = $this->model_tool_seo_url->rewrite($sub_unrewritten);

$output .= '<a href="' . $sub_rewritten . '">' . $sub_result['name'] . '</a>';

$output .= '</li>';

}

if ($sub_results) {$output .= '</ul>';}

$output .= '</li>';

}

if ($results) {$output .= '</ul>';}

echo $output;

?>

Т.е. вывод всего кода в одном месте без раскидывания по файлам

Share this post


Link to post
Share on other sites

ну как бы да это и имелось ввиду что мы создаем дополнительные места для вывода любого модуля.

насчет вывода сразу модуля в шапке думаю Вам поможет инструкция уважаемый tim21701 прекрасно описывает как это сделать с футером и переносом в него блока информация но в нашем случае это не принципиально

мой метод отличается лиш тем что таким вот образом я вывожу по несколько модулей в том или ином месте ну и самое главное в другом шаблоне могу его переместить в другое место за считанные минуты без правки кучи файлов ну и создавая первое место для вывода я создал несколько штук прозапас :-) что теперь мне упрощает жизнь с выводом новых блоков о которых я раньше не знал

Share this post


Link to post
Share on other sites

А что нельзя прямо кодом вывести модуль в header.tpl (или footer.tpl)?
Я как-то выводил модуль новостей таким образом - но там новости были без каких-либо настроек я прописывал в шаблоне

<?php echo $news; ?>



а в контроллере

$this->children = array(  
   'module/news'
  );



таким методом выведены модули корзины, валюты и языки

Это не универсальный метод!!!

Я пытаюсь вывести таким образом coin_slider (мне нужно чтобы он был на всех страница, и я не хочу под него позицию занимать, так как позиции мне для других задач нужны) и у меня не получается.
Я плохой програмист, а точнее вообще не програмист, немного ковыряюсь методом "научного тыка", по аналогиям. Но чтобы вывести слайдер видимо нужно ещё как-то подключать id , а этот метод такого не предусматривает.

Помнится у меня был модуль меню, и в инструкциях по его установке было написано, как вывести его в любом месте (тоже кодом, непосредственно в темплейте). Там для OC1.5.* был довольно мудрёный код, а для OC2 просто как-то выводилось.

Я сейчас воюю с 1.5.6.4 - у меня решить такую задачу не получается.

Если кто-то из реальных програмистов подскажет, даст направление, конструкцию, то я буду очень признателен!!!

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.