mail: admin@shopos.ru
Обратная связь


Войти



Автор Тема: Как создать копию блока content, с возможностью изменять страницы из админки.

Оффлайн support

  • Администратор
  • Профи
  • *****
  • Сообщений: 6503
    • Просмотр профиля
    • Скрипты интернет-магазина
Как создать дополнительны блок content с возможностью добавлять страницы из админки?

Для добавление еще одного блока в базе нужно прописать следующий sql запрос (можно сделать через phpmyadmin):
Цитировать
INSERT INTO os_cm_file_flags (file_flag, file_flag_name) VALUES ('3', 'content2');


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



Так же нужно сделать копии файлов:
themes\ваш_шаблон\source\boxes\content.php с именем content2.php
themes\ваш_шаблон\boxes\box_content.html c именем  box_content2.html

в файл themes\ваш_шаблон\source\boxes.php
добавить строчку:

Цитировать
require(DIR_WS_BOXES . 'content2.php');


в themes\ваш_шаблон\index.html добавить в нужное место блок content2
Цитировать
{$box_CONTENT2}

например так, как показано на скриншоте:



Правим файл themes\ваш_шаблон\source\boxes\content2.php.
нужно править только те места, которые отмечены красным цветом.

Цитировать
<?php
$box = new osTemplate;

$content_string = '';

$box->assign('language', $_SESSION['language']);

if (!CacheCheck()) {
   $cache=false;
   $box->caching = 0;
} else {
   $cache=true;
   $box->caching = 1;
   $box->cache_lifetime = CACHE_LIFETIME;
   $box->cache_modified_check = CACHE_CHECK;
   $cache_id = $_SESSION['language'].$_SESSION['customers_status']['customers_status_id'];
}

if (!$box->is_cached(CURRENT_TEMPLATE.'/boxes/box_content2.html', $cache_id) || !$cache) {

   $box->assign('tpl_path', 'themes/'.CURRENT_TEMPLATE.'/');

   if (GROUP_CHECK == 'true') {
      $group_check = "and group_ids LIKE '%c_".$_SESSION['customers_status']['customers_status_id']."_group%'";
   }

   $content_query = "SELECT
                   content_id,
                   categories_id,
                   parent_id,
                   content_title,
                   content_url,
                   content_group
                   FROM ".TABLE_CONTENT_MANAGER."
                   WHERE languages_id='".(int) $_SESSION['languages_id']."'
                   and file_flag=3 ".$group_check." and content_status=1 order by sort_order";

   $content_query = osDBquery($content_query);

   while ($content_data = os_db_fetch_array($content_query, true)) {
      $SEF_parameter = '';
      if (SEARCH_ENGINE_FRIENDLY_URLS == 'true')
         $SEF_parameter = '&content='.os_cleanName($content_data['content_title']);

if ($content_data['content_url'] != '') {
   $link = '<img src="themes/'.CURRENT_TEMPLATE.'/img/icon_arrow2.jpg" alt="" /><a class="content" href="'.$content_data['content_url'].'" target="_blank">';
} else {
   $link = '<img src="themes/'.CURRENT_TEMPLATE.'/img/icon_arrow2.jpg" alt="" /><a class="content" href="'.os_href_link(FILENAME_CONTENT, 'coID='.$content_data['content_group'].$SEF_parameter).'">';
}

      $content_string .= $link.$content_data['content_title'].'</a><br />' . "\n";
   }

   if ($content_string != '')
      $box->assign('BOX_CONTENT', $content_string);

}

if (!$cache) {
   $box_content = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_content2.html');
} else {
   $box_content = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_content2.html', $cache_id);
}

$osTemplate->assign('box_CONTENT2', $box_content);
?>


Работа с кодом закончена.
Теперь создаем новую страницу через админку.

Разное->Инструменты->Информационные страницы

в результате получается:


вот что мы получаем:

« Последнее редактирование: 09 Апрель 2009, 12:58:10 от Евгений »

Оффлайн foton

  • Опять с своими глупыми вопросами
  • Ветеран
  • *****
  • Сообщений: 886
    • Просмотр профиля
Не получается сделать SQL запрос.

Значит нажимаю на Выполнить SQL-запрос(ы) к базе данных XXXXXXX: с таким содержимым
Цитировать
INSERT INTO os_cm_file_flags (file_flag, file_flag_name) VALUES ('3', 'content2');


вот собственно та ошибка
Цитировать
Ошибка

SQL-запрос:

INSERT INTO os_cm_file_flags( file_flag, file_flag_name )
VALUES (
'3', 'content2'
)

Ответ MySQL: Документация
#1146 - Table 'XXXXXXX.os_cm_file_flags' doesn't exist


Оффлайн Bogus

  • Ветеран
  • *****
  • Сообщений: 508
  • <? echo'hello world'; ?>
    • Просмотр профиля
    • Sportive.Com.UA
я не пойму вот что, ты вставляешь в os_cm_file_flags а ошибка о таблице XXXXXXX.os_cm_file_flags О_о

ищите грабли =) както ваш мускуль не понимает что куда вставить
в руках утюг, в глазах обида ...

Оффлайн foton

  • Опять с своими глупыми вопросами
  • Ветеран
  • *****
  • Сообщений: 886
    • Просмотр профиля
а что я там могу найти если с мускулом не дружил, XXXXXXX -  это переименована мной база

Оффлайн Bogus

  • Ветеран
  • *****
  • Сообщений: 508
  • <? echo'hello world'; ?>
    • Просмотр профиля
    • Sportive.Com.UA
может синтакс проверь, но смотри сам ты даешь иснтрукцию засунуть данные в таблицу а ошибка вылазит такая, таблица база.таблица - не сущетсвует.

=)
кароче 100% вариант =) открываем пхп май админ, открываем эту таблицу и жмем на ВСТАВИТЬ запись =) это 1 строка =) можно и руцями, без написания запроса =) кстати после того как выполнишь операцию то увидишь как правильно в твоем случае выглядел бы запрос
в руках утюг, в глазах обида ...

Оффлайн support

  • Администратор
  • Профи
  • *****
  • Сообщений: 6503
    • Просмотр профиля
    • Скрипты интернет-магазина
Я уже тебе когда то говорил что возможно не в ту бд пытаешься добавить эту запись.

т.к. не может не быть таблицы os_cm_file_flags.

Оффлайн foton

  • Опять с своими глупыми вопросами
  • Ветеран
  • *****
  • Сообщений: 886
    • Просмотр профиля
Прошу прощения, я не в ту базу все это время делал запрос  :o

Добавлены строки: 1 (запрос занял 0.0396 сек.)

Цитировать
SQL-запрос:
INSERT INTO os_cm_file_flags( file_flag, file_flag_name )
VALUES (
'3', 'content2'
);


Оффлайн support

  • Администратор
  • Профи
  • *****
  • Сообщений: 6503
    • Просмотр профиля
    • Скрипты интернет-магазина
Так я же еще пару недель назад предлагал вариант, что возможно бд не та.

Нужно было и проверить.

Оффлайн MSBrabus

  • Постоялец
  • ***
  • Сообщений: 111
    • Просмотр профиля
Тады глупый вопрос.
Проделать тоже самое можно с любым блоком? Например мне второй блок с корзиной нужен.
Ту Биер, Ор Нот Ту Биер
Фрилансером быть разумно, когда под боком пиво.

Оффлайн support

  • Администратор
  • Профи
  • *****
  • Сообщений: 6503
    • Просмотр профиля
    • Скрипты интернет-магазина
нет. не с любым.
а зачем 2 корзины?

Оффлайн MSBrabus

  • Постоялец
  • ***
  • Сообщений: 111
    • Просмотр профиля
Просто в другом месте нужно вывести количество всех товаров, а не в первом блоке (корзины)
Ту Биер, Ор Нот Ту Биер
Фрилансером быть разумно, когда под боком пиво.

Оффлайн support

  • Администратор
  • Профи
  • *****
  • Сообщений: 6503
    • Просмотр профиля
    • Скрипты интернет-магазина
Яб сказао бы что проблематично это сделать. метка с кол. товаров доступна только в пределах блока корзина.

Оффлайн MSBrabus

  • Постоялец
  • ***
  • Сообщений: 111
    • Просмотр профиля
Вот я и вывел, в другом блоке http://www.shopos.ru/forum/index.php?topic=544.msg2230#new :)
По твоей аналогии.
Ту Биер, Ор Нот Ту Биер
Фрилансером быть разумно, когда под боком пиво.

Оффлайн materiya

  • Новичок
  • *
  • Сообщений: 9
  • Здрасти
    • Просмотр профиля
Метод верный, всё получается отлично. только Евгений допустил незначительную ошибку в описании:

Как создать дополнительны блок content с возможностью добавлять страницы из админки?
.......
Правим файл themes\ваш_шаблон\source\boxes\content.php.
нужно править только те места, которые отмечены красным цветом.
.................
Цитировать

нужно так:
Правим файл themes\ваш_шаблон\source\boxes\content2.php.


Исправьте, пожалуйста



Оффлайн support

  • Администратор
  • Профи
  • *****
  • Сообщений: 6503
    • Просмотр профиля
    • Скрипты интернет-магазина

 

Copyright 2016 ShopOS