metin2008' Alıntı:button' Alıntı:hocam benimde şuan bir problemim oluştu bir kaç modül ekledim ve ayarlarını yaptım farketmedim ama kategori menüsü 2 tane olmuş bunu nasıl düzeltebilirim.
admin panelinde eklentiler modüllerden kategorilerden birini kapat
bu kodu
tam olarak nasıl ekleyeceğim hata veren satıra yukarıdaki kodu veriyorum. ürünler kısmında yukarıdaki kod gözüküyor. yardımcı olursan sevinirimKod:'description' => strip_tags(substr(html_entity_decode($result['description']),0,150))."...",
manufacturer.tpl dosyası aşagıdaki gibi
Kod:<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?> <div id="content"> <div class="top"> <div class="left"></div> <div class="right"></div> <div class="center"> <h1><?php echo $heading_title; ?></h1> </div> </div> <div class="middle"> <div class="sort"> <div class="div1"> <select name="sort" onchange="location = this.value"> <?php foreach ($sorts as $sorts) { ?> <?php if (($sort . '-' . $order) == $sorts['value']) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select> </div> <div class="div2"><?php echo $text_sort; ?></div> </div> <table class="list"> <?php for ($i = 0; $i < sizeof($products); $i = $i + 2) { ?> <tr> <?php for ($j = $i; $j < ($i + 2); $j++) { ?> <td style="width: 50%;"><?php if (isset($products[$j])) { ?> <a href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>"><img id="latest_img" src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a><br /> <div id="info"> <a class="name" href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>"><?php echo $products[$j]['name']; ?></a><br /> <!--<span style="color: #999; font-size: 11px;"><?php echo $products[$j]['model']; ?></span><br />--> <p><?php echo substr(strip_tags(html_entity_decode($products[$j]['description'])),0,80 ).' ...'; ?></p><br /> <?php if ($display_price) { ?> <?php if (!$products[$j]['special']) { ?> <span class="price" style="color: rgb(79, 79, 79); font-weight: bold;"><?php echo $products[$j]['price']; ?></span> <?php } else { ?> <span class="price" style="color: rgb(79, 79, 79); font-weight: bold; text-decoration: line-through;"><?php echo $products[$j]['price']; ?></span> <span class="specialprice" style="color: #F00;"><?php echo $products[$j]['special']; ?></span> <?php } ?> <!--<a class="button_add_small" href="<?php echo $products[$j]['add']; ?>" title="<?php echo $button_add_to_cart; ?>" > </a>--> <br /><a href="<?php echo $products[$j]['add']; ?>" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a> <a href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>" id="incele"><img src="catalog/view/theme/asel_kirmizi/image/incele.png"/></a> <?php } ?> <br /> <?php if ($products[$j]['rating']) { ?> <img src="catalog/view/theme/default/image/stars_<?php echo $products[$j]['rating'] . '.png'; ?>" alt="<?php echo $products[$j]['stars']; ?>" /> <?php } ?> <?php } ?> </div> </td> <?php } ?> </tr> <?php } ?> </table> <div class="pagination"><?php echo $pagination; ?></div> </div> <div class="bottom"> <div class="left"></div> <div class="right"></div> <div class="center"></div> </div> </div> <?php echo $footer; ?>
template/product/search.tpl on line 83 ...
'description' => $result['description'],
'description' => strip_tags(substr(html_entity_decode($result['description']),0,150))."...",
<p><?php echo substr(strip_tags(html_entity_decode($products[$j]['description'])),0,80 ).' ...'; ?></p><br />
<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
<div id="content">
<div class="top">
<div class="left"></div>
<div class="right"></div>
<div class="center">
<h1><?php echo $heading_title; ?></h1>
</div>
</div>
<div class="middle"><b><?php echo $text_critea; ?></b>
<div id="content_search" style="background: #F7F7F7; border: 1px solid #DDDDDD; padding: 10px; margin-top: 3px; margin-bottom: 10px;">
<table>
<tr>
<td><?php echo $entry_search; ?></td>
<td><?php if ($keyword) { ?>
<input type="text" value="<?php echo $keyword; ?>" id="keyword" />
<?php } else { ?>
<input type="text" value="<?php echo $text_keyword; ?>" id="keyword" onclick="this.value = '';" onkeydown="this.style.color = '000000'" style="color: #999;" />
<?php } ?>
<select id="category_id">
<option value="0"><?php echo $text_category; ?></option>
<?php foreach ($categories as $category) { ?>
<?php if ($category['category_id'] == $category_id) { ?>
<option value="<?php echo $category['category_id']; ?>" selected="selected"><?php echo $category['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $category['category_id']; ?>"><?php echo $category['name']; ?></option>
<?php } ?>
<?php } ?>
</select></td>
</tr>
<tr>
<td colspan="2"><?php if ($description) { ?>
<input type="checkbox" name="description" id="description" checked="checked" />
<?php } else { ?>
<input type="checkbox" name="description" id="description" />
<?php } ?>
<?php echo $entry_description; ?></td>
</tr>
<tr>
<td colspan="2"><?php if ($model) { ?>
<input type="checkbox" name="model" id="model" checked="checked" />
<?php } else { ?>
<input type="checkbox" name="model" id="model" />
<?php } ?>
<?php echo $entry_model; ?></td>
</tr>
</table>
</div>
<div class="buttons">
<table>
<tr>
<td align="right"><a onclick="contentSearch();" class="button"><span><?php echo $button_search; ?></span></a></td>
</tr>
</table>
</div>
<div class="heading"><?php echo $text_search; ?></div>
<?php if (isset($products)) { ?>
<div class="sort">
<div class="div1">
<select name="sort" onchange="location = this.value">
<?php foreach ($sorts as $sorts) { ?>
<?php if (($sort . '-' . $order) == $sorts['value']) { ?>
<option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
<?php } else { ?>
<option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="div2"><?php echo $text_sort; ?></div>
</div>
<table class="list">
<?php for ($i = 0; $i < sizeof($products); $i = $i + 2) { ?>
<tr>
<?php for ($j = $i; $j < ($i + 2); $j++) { ?>
<td style="width: 50%;"><?php if (isset($products[$j])) { ?>
<a href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>"><img id="latest_img" src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a><br />
<div id="info">
<a class="name" href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>"><?php echo $products[$j]['name']; ?></a><br />
<!--<span style="color: #999; font-size: 11px;"><?php echo $products[$j]['model']; ?></span><br />-->
<p><?php echo substr(strip_tags(html_entity_decode($products[$j]['description'])),0,80 ).' ...'; ?></p><br />
<?php if ($display_price) { ?>
<?php if (!$products[$j]['special']) { ?>
<span class="price" style="color: rgb(79, 79, 79); font-weight: bold;"><?php echo $products[$j]['price']; ?></span>
<?php } else { ?>
<span class="price" style="color: rgb(79, 79, 79); font-weight: bold; text-decoration: line-through;"><?php echo $products[$j]['price']; ?></span> <span class="specialprice" style="color: #F00;"><?php echo $products[$j]['special']; ?></span>
<?php } ?>
<!--<a class="button_add_small" href="<?php echo $products[$j]['add']; ?>" title="<?php echo $button_add_to_cart; ?>" > </a>-->
<br /><a href="<?php echo $products[$j]['add']; ?>" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a>
<a href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>" id="incele"><img src="catalog/view/theme/mucit_tema/image/incele.png"/></a>
<?php } ?>
<br />
<?php if ($products[$j]['rating']) { ?>
<img src="catalog/view/theme/default/image/stars_<?php echo $products[$j]['rating'] . '.png'; ?>" alt="<?php echo $products[$j]['stars']; ?>" />
<?php } ?>
<?php } ?>
</div>
</td>
<?php } ?>
</tr>
<?php } ?>
</table>
<div class="pagination"><?php echo $pagination; ?></div>
<?php } else { ?>
<div style="background: #F7F7F7; border: 1px solid #DDDDDD; padding: 10px; margin-top: 3px; margin-bottom: 15px;"><?php echo $text_empty; ?></div>
<?php }?>
</div>
<div class="bottom">
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
</div>
</div>
<script type="text/javascript"><!--
$('#content_search input').keydown(function(e) {
if (e.keyCode == 13) {
contentSearch();
}
});
function contentSearch() {
url = 'index.php?route=product/search';
var keyword = $('#keyword').attr('value');
if (keyword) {
url += '&keyword=' + encodeURIComponent(keyword);
}
var category_id = $('#category_id').attr('value');
if (category_id) {
url += '&category_id=' + encodeURIComponent(category_id);
}
if ($('#description').attr('checked')) {
url += '&description=1';
}
if ($('#model').attr('checked')) {
url += '&model=1';
}
location = url;
}
//--></script>
<?php echo $footer; ?>
template/product/search.tpl on line 83 ...
duzgun' Alıntı:Hatanın açıklaması
Kod:undefined index: description
dır. description a template/product/search.tpl on line 83 e bak demektedir.
83 e baktığımızda undifined olan değişkenin
Kod:$products[$j]['description']
olduğu görülür. hatada tam olarak $products dizisinin içinde description adında bir anatar yok demektedir.
İşte bu aşamada $products dizine bu tanımı kim yapar diye sormak gerekir.
Yapanı bulmak lazım ki yoksa eklensin bir daha yok demesin
İşte bu aramada tpl lere bu değişkenleri tanımlayan bölüm controller dosyalarındadır.
Bu nedende search.tpl yi çalıştıran controller dosyasında
$this->data['products'][........] şeklinde bir tanım yapıp
bilgilere
Kod:'description' => $result['description'],
satırında tanımlamak sorunu çözecektir.
bunun için önce search.tpl hangi controller dosyası içinde olduğunu bulmak gerekir.
bunun içinde notepad++ dada bulunan klasör içindeki dosyalarda kelime ara özelliklerinde search.tpl nin nerede olduğunu aratırsınız ben arattım.
98 files searched, 3 matches found in 1 files
Kod:\opencart\catalog\controller\product\search.php 3 matches [339:93] if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/search.tpl')) { [340:81] $this->template = $this->config->get('config_template') . '/template/product/search.tpl'; [342:48] $this->template = 'default/template/product/search.tpl';
şeklinde bir sonuç aldım.
controller\product\search.php dosyasını açınız.
PHP:$this->data['products'][] = array( 'name' => $result['name'], 'model' => $result['model'], 'rating' => $rating, 'stars' => sprintf($this->language->get('text_stars'), $rating), 'thumb' => $this->model_tool_image->resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')), 'price' => $price, 'options' => $options, 'special' => $special, //'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&keyword=' . $this->request->get['keyword'] . $url . '&product_id=' . $result['product_id']), 'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&keyword=' . urlencode($this->request->get['keyword']) . $url . '&product_id=' . $result['product_id']), 'add' => $add ); [php] benzer bir satırı bulunuz. burada $this->data['products'][] tanımı tpl de $products değişkenini oluşturur. Siz bu kodda [code] 'model' => $result['model'], [/code] satırından sonra [code] 'description' => $result['description'], [/code] satırını ekleyeceksiniz. bu şekilde tpl de $products[$j]['description'] şeklinde bu bilgi tanımlı olacaktır tpl de kullanılan local değişekenler render esnasında controller in $this->data dizisinin extract($this->data); komutu ile local değişkenlere dönüştürülmesi ile oluşmaktadır. konusunu ve sitemizde yayınladığımız geliştirici klavuzları okuyabilirseniz opencart mimarisini çok iyi bir şekilde anlayabilirsiniz. kolay gelsin. [/quote] üreticiler kısmındada aşağıdaki hatayı veriyordu [code]/template/product/manufacturer.tpl on line 36 .. [/code]diye hata veriyordu yukarıdaki anlatımı manufacturer.php dosasına uygulayıncı o sorunda düzeldi. bu temayı paylaştığı için [b][color=#0000CD]osdem66 [/color][/b] ve sorunların çözümünde yardımcı oldukları için [b][color=#0000CD]osdem66 [/color][/b]ve [color=#006400][b]duzgun[/b][/color]' e teşşekkür ederim.