Posts Tagged ‘Installationsservice’

Installation

Der Artikel “Installation” wird bereitgestellt von:
BuI Hinsche GmbH – Softwareentwicklung und Design. Plugins, Module, Templates

Sie können das Plugin entweder selbst installieren oder unseren Installationsservice bestellen.

Bei Bestellung unseres Installationsservices

Falls wir die Installation für Sie übernehmen sollen, benötigen wir folgende Daten von Ihnen:

  1. die URL des Shops
  2. FTP-Zugangsdaten (Server, Username, Passwort)
  3. Datenbankzugangsdaten (Datenbankserver, Datenbankname, Username, Passwort)
  4. Shopadmin: E-Mail-Adresse, Passwort (bis Version 3.0.4 SP2.1)

Senden Sie diese Daten am besten gleich bei Beauftragung des Installationsservice mit.

Nicht im Installationsangebot enthalten sind jegliche programmiertechnischen und grafischen Anpassungen, die nichts mit der Einbindung des Moduls zu tun haben. Diese führen zu einem zusätzlichen Auftrag, für die wir Ihnen gerne ein separates Angebot unterbreiten.

Eigene Installation

Übersicht

Schritt 1 – Datensicherung

Schritt 2 – Datenbankänderungen

Schritt 3 – Kopieren der Dateien

Schritt 4 – Dateien anpassen

Schritt 5 – Template–Anpassungen

Schritt 1 – Datensicherung

Datenbanksicherung: Shop oder über PhpMyAdmin/ MySqlDumper etc.

Dateisicherung: Alle betroffenen Dateien sichern!

Schritt 2 – Datenbankänderungen

SQL-Anweisungen über PhpMyAdmin ausführen:

Bitte benutzen sie dafür die beiliegende Datei newsmodul.sql, um die News-Datenbankerweiterungen zu importieren. (Achtung: alle newsbezogenen SQL-Tabellen und Werte werden gelöscht!)

Schritt 3 – Kopieren der Dateien

Hinweis: Es liegen auch Dateien mit der Endung .php.txt oder .html.txt vor. Diese Dateien entsprechen den Modifikationen und müssen nur umbenannt werden, wenn Sie keine weiteren Module installiert haben.

Kopieren der Dateien aus dem Paket in der entsprechenden Ordnerstruktur des Shops.

Komplette Ordner kopieren:

images/news_categories/
images/news_images/

und die Zugriffsrechte auf 777 (chmod) setzen

template//modules/news/
template//img/news

Schritt 4 – Dateien anpassen

Hinweis: es liegen auch Dateien mit der Endung .php.txt vor. Diese Dateien entsprechen den Modifikationen und müssen nur umbenannt werden, wenn sie keine weiteren Module installiert haben.
Wenn Sie diese Dateien verwenden, dann können sie diesen Schritt <Dateien anpassen> überspringen.

Datei: admin/includes/application_top.php

Dateiende: suchen nach

?>

davor einfügen

// newsmodul
include_once('application_news_top.php');

Datei: admin/includes/colum_left.php

suche Zeile: 34

if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['products_expected'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_PRODUCTS_EXPECTED, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_PRODUCTS_EXPECTED . '</a><br>';

danach einfügen:

if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['news_categories'] == '1')) {
echo ('<div class="dataTableHeadingContent"><b>'.BOX_HEADING_NEWS.'</b></div>');
echo'<a href="' .xtc_href_link(FILENAME_NEWS_CATEGORIES) . '" class="menuBoxContentLink"> -' .TEXT_MODULE_NEWS_CATEGORIES . '</a><br>';
echo '<a href="' . xtc_href_link(FILENAME_CONFIGURATION, 'gID=44', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_CONFIGURATION_44 . '</a><br>';
echo '<a href="' . xtc_href_link(FILENAME_CONFIGURATION, 'gID=45', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_CONFIGURATION_45 . '</a><br>';
}
if ($_SESSION['temp_news_link']) {
echo'<a href="' .xtc_href_link(FILENAME_NEWS_CATEGORIES) . '?action=multi_action" class="menuBoxContentLink"> -' .TEXT_NEWS_TO_LINK_EDIT . '</a><br>';
}

Datei: admin/includes/functions/html_output.php

suche Zeile: 303

$nav.= xtc_image(DIR_WS_ICONS . 'sort_up.gif', '', '20' ,'20').'</a></div>';

break;

danach einfügen:

// changes newsmodul
case FILENAME_NEWS_CATEGORIES:

$nav='<br><div><a href="'.xtc_href_link(FILENAME_NEWS_CATEGORIES,'sorting='.$sort.'&'.xtc_get_all_get_params(array('action','sorting'))).'">';
$nav.=xtc_image(DIR_WS_ICONS . 'sort_down.gif', '', '20' ,'20').'</a>';
$nav.='<a href="'.xtc_href_link(FILENAME_NEWS_CATEGORIES,'sorting='.$sort.'-desc&'.xtc_get_all_get_params(array('action','sorting'))).'">';
$nav.= xtc_image(DIR_WS_ICONS . 'sort_up.gif', '', '20' ,'20').'</a></div>';

break;

Datei: admin/includes/modules/new_category.php

suche Zeile: 138

echo '<td><span class="main">'.xtc_draw_pull_down_menu('categories_template',$files,$default_value);
?>
</span></td></tr>

danach einfügen:

<!-- changes newsmodul -->
<tr>
<?php
echo '<td class="main">'.TEXT_CHOOSE_INFO_TEMPLATE_NEWS_LISTING.':</td>';
echo '<td><span class="main">'.xtc_pull_down_news_listing_template($cInfo->news_listing_template, 'news_listing_template',array(array('id' => '','text' => TEXT_SELECT)));
?>
</span></td>
</tr>
<tr>
<?php
echo '<td class="main">'.TEXT_CHOOSE_INFO_TEMPLATE_NEWS_CATEGORIE.':</td>';
echo '<td><span class="main">'.xtc_pull_down_news_categories_listing_template($cInfo->news_categories_template, 'news_categories_template',array(array('id' => '','text' => TEXT_SELECT)));
?>
</span></td>
</tr>
<!-- changes news end -->

Datei: admin/includes/modules/new_product.php

suche Zeile: 138

echo '<td><span class="main">'.xtc_draw_pull_down_menu('options_template', $files, $default_value);
?>
</span></td>
</tr>

danach einfügen:

<!-- changes newsmodul -->
<tr>
<?php
echo '<td class="main">'.TEXT_CHOOSE_INFO_TEMPLATE_NEWS_LISTING.':</td>';
echo '<td><span class="main">'.xtc_pull_down_news_listing_template($pInfo->news_listing_template, 'news_listing_template',array(array('id' => '','text' => TEXT_SELECT)));
?>
</span></td>
</tr>
<tr>
<?php
echo '<td class="main">'.TEXT_CHOOSE_INFO_TEMPLATE_NEWS_CATEGORIE.':</td>';
echo '<td><span class="main">'.xtc_pull_down_news_categories_listing_template($pInfo->news_categories_template, 'news_categories_template',array(array('id' => '','text' => TEXT_SELECT)));
?>
</span></td>
</tr>
<!-- changes newsmodul end -->

Datei: admin/includes/classes/categories.php

suchen Zeile: 166

$sql_data_array = array_merge($sql_data_array,$permission_array);

danach einfügen:

// newsmodul
$sql_tpl_data_array = array ('news_categories_template' => xtc_db_prepare_input($categories_data['news_categories_template']), 'news_listing_template' => xtc_db_prepare_input($categories_data['news_listing_template']));
$sql_data_array = array_merge($sql_data_array,$sql_tpl_data_array);
// newsmodul_end

suchen nach Zeile:

$products_id = $new_pid_query_values['Auto_increment'];
}

danach einfügen:

// newsmodul
$sql_tpl_data_array = array ('news_categories_template' => xtc_db_prepare_input($products_data['news_categories_template']), 'news_listing_template' => xtc_db_prepare_input($products_data['news_listing_template']));
$sql_data_array = array_merge($sql_data_array,$sql_tpl_data_array);
// newsmodul_end

Datei: inc/xtc_wysiwyg.inc.php

suche Zeile: 137

break;

danach einfügen:

case 'news_categories_description':
$val ='var oFCKeditor = new FCKeditor( \'news_categories_description['.$langID.']\', \'550\', \'300\' ) ;
oFCKeditor.BasePath = "'.$path.'" ;
oFCKeditor.Config["LinkBrowserURL"] = "'.$filemanager.$file_path.'" ;
oFCKeditor.Config["ImageBrowserURL"] = "'.$filemanager.$image_path.'" ;
oFCKeditor.Config["AutoDetectLanguage"] = false ;
oFCKeditor.Config["DefaultLanguage"] = "'.$lang.'" ;
oFCKeditor.ReplaceTextarea() ;
';
break;
// WYSIWYG editor products_description textarea named products_description_langID
case 'news_description':
$val ='var oFCKeditor = new FCKeditor( \'news_description_'.$langID.'\', \'100%\', \'400\' ) ;
oFCKeditor.BasePath = "'.$path.'" ;
oFCKeditor.Config["LinkBrowserURL"] = "'.$filemanager.$file_path.'" ;
oFCKeditor.Config["ImageBrowserURL"] = "'.$filemanager.$image_path.'" ;
oFCKeditor.Config["AutoDetectLanguage"] = false ;
oFCKeditor.Config["DefaultLanguage"] = "'.$lang.'" ;
oFCKeditor.ReplaceTextarea() ;
';
break;
// WYSIWYG editor products short description textarea named
products_short_description_langID
case 'news_short_description':
$val ='var oFCKeditor = new FCKeditor( \'news_short_description_'.$langID.'\', \'550\', \'300\' ) ;
oFCKeditor.BasePath = "'.$path.'" ;
oFCKeditor.Config["LinkBrowserURL"] = "'.$filemanager.$file_path.'" ;
oFCKeditor.Config["ImageBrowserURL"] = "'.$filemanager.$image_path.'" ;
oFCKeditor.Config["AutoDetectLanguage"] = false ;
oFCKeditor.Config["DefaultLanguage"] = "'.$lang.'" ;
oFCKeditor.ReplaceTextarea() ;
';
break;

Datei: includes/header.php

suche Zeile:

<?php include(DIR_WS_MODULES.FILENAME_METATAGS); ?>

ersetzen durch:

<?php
// changes newsmodul
if (basename($PHP_SELF) == FILENAME_NEWS) {
if (is_object($news_list))
echo $news_list->generateMetatags();
} else {
include(DIR_WS_MODULES.FILENAME_METATAGS);
}
// changes newsmodul end
?>

Datei: includes/center_modules.php

suche Zeile: 22

return $module;

davor einfügen:

require(DIR_WS_MODULES . FILENAME_NEWS); // NEWS

Datei: includes/application_top.php

Dateiende: suchen nach

?>

danach einfügen:

// newsmodul
include_once('application_news_top.php');

Datei: includes/modules/product_listing.php

suche:

require_once (DIR_FS_INC.'xtc_get_vpe_name.inc.php');

danach einfügen:

require_once (DIR_WS_CLASSES.'news.php');

suche Zeile 40:

$category_query = xtDBquery("select
cd.categories_description,
cd.categories_name,
cd.categories_heading_title,
c.listing_template,

danach einfügen:

c.news_categories_template, /* changes newsmodul */
c.news_listing_template, /* changes newsmodul */

suche Zeile: 53

$category = xtc_db_fetch_array($category_query,true);

danach einfügen:

////////////////////////////////////////////////////////////////////
// Newsmodul
// wenn aktiv
if(NEWS_MODUL_ON == 'true') {
$news = new news();
if (basename($PHP_SELF) != FILENAME_ADVANCED_SEARCH_RESULT) {
$news->calendar('smarty',MODULE_NEWS_TEMPLATE_NEWS_CALENDAR_SHOP);
$news->getNews2ProductListing($category['news_listing_template'] != '' ? $category['news_listing_template'] : MODULE_NEWS_DEFAULT_TEMPLATE_NEWS_TO_PRODUCT_LISTING, $current_category_id);
$news->getNewsCategories2ProductListing ($category['news_categories_template'] != '' ? $category['news_categories_template'] : MODULE_NEWS_DEFAULT_TEMPLATE_NEWS_CATEGORIES_TO_PRODUCT_LISTING, $current_category_id);
} elseif (basename($PHP_SELF) == FILENAME_ADVANCED_SEARCH_RESULT) {
$news->get_search_result ();

$module_smarty->assign('MODULE_news', $news->smarty_moduldata[2]['news_search_result']);
}
} // aktiv eof
// Newsmodul end
////////////////////////////////////////////////////////////////////

Datei: includes/modules/default.php

zeile: 32

require_once (DIR_FS_INC.'xtc_check_categories_status.inc.php');

danach einfügen:

////////////////////////////////////////////////////////////////////
// Newsmodul
require_once(DIR_WS_CLASSES . 'news.php');
////////////////////////////////////////////////////////////////////

suche Seile: 40:

if (xtc_check_categories_status($current_category_id) >= 1) {

danach einfügen:

////////////////////////////////////////////////////////////////////
// Newsmodul
// wenn aktiv
if(NEWS_MODUL_ON == 'true') {
$news = new news();

$news->calendar('smarty',MODULE_NEWS_TEMPLATE_NEWS_CALENDAR_SHOP);
$news->getNews2CategorieListing (MODULE_NEWS_DEFAULT_TEMPLATE_NEWS_TO_PRODUCT_LISTING, $current_category_id);
$news->getNewsCategories2CategorieListing (MODULE_NEWS_DEFAULT_TEMPLATE_NEWS_CATEGORIES_TO_PRODUCT_LISTING, $current_category_id);
} // aktiv eof
// Newsmodul end
////////////////////////////////////////////////////////////////////

suche Zeile 63:

$category_query = "select
cd.categories_description,
cd.categories_name,
cd.categories_heading_title,
c.categories_template,

danach einfügen:

c.news_categories_template, /* changes newsmodul */
c.news_listing_template, /* changes newsmodul */

suche Seile: 78:

$category = xtc_db_fetch_array($category_query, true);

danach einfügen:

////////////////////////////////////////////////////////////////////
// Newsmodul
// wenn aktiv
if(NEWS_MODUL_ON == 'true') {
$news = new news();
$news->calendar('smarty',MODULE_NEWS_TEMPLATE_NEWS_CALENDAR_SHOP);
$news->getNews2CategorieListing ($category['news_listing_template'] != '' ? $category['news_listing_template'] : MODULE_NEWS_DEFAULT_TEMPLATE_NEWS_TO_PRODUCT_CATEGORY, $current_category_id);
$news->getNewsCategories2CategorieListing ($category['news_categories_template'] != '' ? $category['news_categories_template'] : MODULE_NEWS_DEFAULT_TEMPLATE_NEWS_CATEGORIES_TO_PRODUCT_CATEGORY, $current_category_id);
} // aktiv eof
// Newsmodul end
////////////////////////////////////////////////////////////////////

Datei: includes/modules/error_handler.php

Suche Zeile: 14

$module_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');

danach einfügen:

////////////////////////////////////////////////////////////////////
// Newsmodul
// wenn aktiv
if(NEWS_MODUL_ON == 'true') {
$news = new news();
if (basename($PHP_SELF) == FILENAME_ADVANCED_SEARCH_RESULT) {
$news->get_search_result ();
$module_smarty->assign('MODULE_news', $news->smarty_moduldata[2]['news_search_result']);
} elseif (!empty($current_category_id)) {
$news->getNews2CategorieListing ('news_startpage.html', $current_category_id, 'module_smarty');
$news->getNewsCategories2CategorieListing ('news_categories_startpage.html', $current_category_id, 'module_smarty');
}
} // aktiv eof
// Newsmodul end
////////////////////////////////////////////////////////////////////

Datei: includes/modules/product_info.php

suche Zeile: 28

require_once (DIR_FS_INC.'get_cross_sell_name.inc.php');

danach einfügen:

////////////////////////////////////////////////////////////////////
// Newsmodul
require_once(DIR_WS_CLASSES . 'news.php');

////////////////////////////////////////////////////////////////////

suche Zeile: 46

} else {

danach einfügen:

////////////////////////////////////////////////////////////////////
// Newsmodul
// wenn aktiv
if(NEWS_MODUL_ON == 'true') {
$tpl_news_query = xtDBquery("select news_categories_template, news_listing_template
from ".TABLE_PRODUCTS." where products_id = '".$product->data['products_id']."' LIMIT 1");
$tpl_news = xtc_db_fetch_array($tpl_news_query, true);
$news = new news();
$news->getNewsCategories2ProductInfo ($tpl_news['news_categories_template'] != '' ? $tpl_news['news_categories_template'] : MODULE_NEWS_DEFAULT_TEMPLATE_NEWS_CATEGORIES_TO_PRODUCT_INFO, $product->data['products_id']);
$news->getNews2ProductInfo ($tpl_news['news_listing_template'] != '' ? $tpl_news['news_listing_template'] : MODULE_NEWS_DEFAULT_TEMPLATE_NEWS_TO_PRODUCT_INFO, $product->data['products_id']);
$news->display();
} // aktiv eof
// Newsmodul end
////////////////////////////////////////////////////////////////////

Schritt 5 – Template-Anpassungen

jeweils immer gleich im entsprechenden Template darunter einfügen:

Hinweis: Diese Änderungen beziehen sich auf das xtc4 Template! Es liegen auch Dateien mit der Endung .html.txt vor (Standard-Template xtc4). Diese Dateien entsprechen den Modifikationen und müssen nur umbenannt werden, falls Sie keine weiteren Module installiert haben. Wenn Sie diese Dateien verwenden, dann können sie diesen Schritt 5 auslassen.

{if $MODULE_news_caregories}
<tr>
<td class="main"><br />{$MODULE_news_caregories}</td>
</tr>
{/if}

{if $MODULE_news}
<tr>
<td class="main"><br />{$MODULE_news}</td>
</tr>
{/if}

Template: module/product_listing/ *

Zeile: 79

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>{$NAVIGATION}</td>
</tr>

Template: module/categorie_listing/ *

Zeile: 52

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>{$MODULE_new_products}</td>
</tr>

Template: module/product_info/ *

Zeile: 142

{$FORM_END}
<table width="100%" border="0">

Template: module/main_content.html

Zeile: 27

<tr>
<td class="main">{$MODULE_upcoming_products}</td>
</tr>

Ihnen stehen folgende Variablen im Template zur Verfügung:

News

‘NEWS_ID’, ‘NEWS_DATE_ADDED’, ‘NEWS_DATE_RELEASE’, ‘NEWS_DATE_FROM’, ‘NEWS_DATE_TO’, ‘NEWS_TITLE’ ,’NEWS_HEADING’ ,’NEWS_SHORT_DESCRIPTION’, ‘NEWS_DESCRIPTION’, ‘NEWS_IMAGE’, ‘NEWS_POPUP_LINK’, ‘NEWS_TEMPLATE’, ‘NEWS_META_KEYWORDS’,’NEWS_META_DESCRIPTION’, ‘NEWS_META_TITLE’, ‘NEWS_FSK18′, ‘NEWS_VIEWED’ , ‘NEWS_URL’ , ‘NEWS_RATING_STARS’, ‘_PRODUCTS’ (array), ‘_CATEGORIES’ (array) ,’NEWS_PRINT’ , ‘NEWS_LINK’

News – Kategorie

‘CAT_NEWS_ID’, ‘CAT_NEWS_DATE_ADDED’, ‘CAT_NEWS_NAME’, ‘CAT_NEWS_TITEL’, ‘CAT_NEWS_DESCRIPTION’, ‘CAT_NEWS_IMAGE’, ‘CAT_NEWS_TEMPLATE’, ‘NEWS_LISTING_TEMPLATE’ ,’CAT_NEWS_META_KEYWORDS’, ‘_PRODUCTS’ (array), ‘_CATEGORIES’ (array), ‘CAT_NEWS_META_DESCRIPTION’, ‘CAT_NEWS_META_TITLE’, ‘CAT_NEWS_PARENT_ID’ , ‘CAT_NEWS_LINK’

Hinweis: diese Variablen werden mit {$<Variable>} angegeben.

Tip: Achten Sie dabei auf ‘foreach’-Schleifen!
(z.B. ‘{foreach name=news item=news_data from=$_CAT_NEWS_LISTING}’)
Dann werden die Variablen mit {$news_data.<Variable>} angegeben.

Tip 2: (betrifft Design-Modifikationen für den Kalender) Schau Sie sich die txt-Dateien im Ordner templates/xtc4/img/calendar/ an.

XT Commerce Preis als Bild

Der Artikel “XT Commerce Preis als Bild” wird bereitgestellt von:
artViper designstudio – new projects and products in AJAX, mySQL, PHP and Flash

Dieses Addon ersetzt auf der Startseite eines XT-Commerce Shops die Preise der neuen Produkte durch Bilder, die anpassbar über das Produkt gelegt werden können, wie es z.B. von Media Markt und Co bekannt ist. Die Schriftart, Farbe etc ist dabei anpassbar, da man die gewünschten Ziffern als Bilder selbst kreieren kann.
Ebenfalls ist die Positionierung der Preise per CSS möglich. Wir bieten dieses Tool derzeit in zwei Varianten an, einmal mit Installationsservice und einmal ohne, jeweils für 39€ und 79€.
Sample:

Buy now for only 39.95€

XT Commerce Preis als Bild

Der Artikel “XT Commerce Preis als Bild” wird bereitgestellt von:
artViper designstudio – new projects and products in AJAX, mySQL, PHP and Flash

Dieses Addon ersetzt auf der Startseite eines XT-Commerce Shops die Preise der neuen Produkte durch Bilder, die anpassbar über das Produkt gelegt werden können, wie es z.B. von Media Markt und Co bekannt ist. Die Schriftart, Farbe etc ist dabei anpassbar, da man die gewünschten Ziffern als Bilder selbst kreieren kann.
Ebenfalls ist die Positionierung der Preise per CSS möglich. Wir bieten dieses Tool derzeit in zwei Varianten an, einmal mit Installationsservice und einmal ohne, jeweils für 39€ und 79€.
Sample:

Buy now for only 39.95€