Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Fix305

Користувачі
  
  • Публікації

    917
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Fix305

  1. в ..catalogcontrollercheckoutcart.php в районе 30 строчки вставить:

    if (isset($this->request->post['removekey'])) {      $this->cart->remove($this->request->post['removekey']);}

    в ..catalogviewthemedefaulttemplatecheckoutcart.tpl добавить:

    <script type="text/javascript"> function delProduct(id){        $.ajax({            type: 'post',            url: 'index.php?route=checkout/cart',            dataType: 'html',            data: 'removekey='+id        });                    }</script>

    и там же рядом с товарами сделать ссылочку:

    [url="#"])">удалить[/url]

    не помешает поиграть с переменной redirect, а то на главную выкидывает, после удаления

  2. при редактировании товара нажми кнопку "Источник", и воткни код мувика с ютуба в нужное место, например

    <object width="480" height="385"><param name="movie" value="
    
    name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="
    type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
  3. замени:

    if ($category_id == $result['category_id']) {	$children = $this->getCategories($result['category_id'], $new_path);}
    на:

    if ($parent_id == 0) {	$children = $this->getCategories($result['category_id'], $new_path);}

    если нужно чтоб сразу все категории раскрыты не были то на это

    if ($parent_id == 0 && $category_id == $result['category_id']) {	$children = $this->getCategories($result['category_id'], $new_path);}
    • +1 1
  4. да все правильно ты понял) разве что проверка идет не на 1,2 - TRUE, 3я - FALSE, а 1,2 - TRUE, 3,4,5,6,...,? - FALSE)и ошибка скорее всего либо не там закрыл }, либо наоборот не закрыл (что более вероятно).если не найдешь ошибку, скинь кусок кода отрисовки блоками - сам поэкспериментирую)

  5. если работает как надо - значит правильно) я незнаю твоего дизайна и что ты задумал, поэтому мне трудно судить, если нарисуешь наглядно, то подскажу точно)

    вставь где нибудь после

    $parts = explode('_', $this->request->get['path']);
  6. при добавлении в корзину (при помощи AJAX) данные сначала записываются в сессию и при первом же переходе на другую страницу отправляются в базу данных.

    ну весь код осознавать совсем не обязательно, все самое интересное происходит в папке ../catalog/ ,

    где все красиво по полочкам разложено)

    например надо тебе что то изменить в отображении страницы http://.../index.php?route=product/category

    соответственно

    ..catalogcontrollerproductcategory.php - тут основная логика, в том числе подключение 2х следующих файлов

    ..catalogmodelcatalogcategory.php - тут функции (запросы к БД)

    ..catalogviewthemedefaulttemplateproductcategory.tpl - сам шаблон

    ну еще есть языковой файл, но там все просто)

    за пределами каталога впринципе ничего интересного нет)

  7. спасибо .

    Только всё равно не соображу как правильно организовать вариант , когда для категорий 1и 2 го уровня товары выводятся по стандарту (квадраты по 4 шт по ширине), а для 3его и выше - в виде например прямоугольного блока на всю ширину ?

    В файле шаблона нужно делать проверку на номер порядка категории и при значении >=2 прописывать отдельные параметры страницы ? В файле Controller тоже нужно что-то прописывать ???

    думал тебе именно 3ю категорию надо, ну а если 1,2 отдельно, 3+ отдельно, то тогда еще проще:

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

    if (isset($parts[2])) {$this->data['rd_cat'] = 1;} else {$this->data['rd_cat'] = 0;}
    в шаблоне

    <? if ($rd_cat) {echo "МЫ НЕ В 1 или 2ой КАТЕГОРИИ";} ?>
  8. Читай внимательно форум - это уже объясняли !!!

    М-да.. Русскоязычное сообщество слабовато. Очень жаль, что подобной "помощью" есть большой риск отвернуть от проекта многих заинтересовавшихся.
    да честно говоря ты сам ответил на свои вопросы:1) корзина регистрированных пользователей храниться в DB_PREFIX_customer, поле cart. Хранится в виде массива. В файле ..systemlibrarycart.php можно даже понаблюдать как оно оттуда добывается (функция getProducts). Корзина не зарегистрированных, не уверен, но скорее всего храниться в сессии, так же ввиде массива.2) Движок, если не ошибаюсь, у них свой, основан на модели Model-View-Controller (в гугле про нее можно почитать более подробно, она довольно популярна). Ну а разбираться в движке Opencart разве что по строчное изучение кода, начиная с index.php =)ну а если нужен движок, то почитай про фреймворк cakePHP.
  9. И ещё , как сделать так чтобы для категорий с 3его уровня было другое отображение товаров ?

    буду благодарен за любые подсказки .

    в ..catalogcontrollerproductcategory.php есть:

    $parts = explode('_', $this->request->get['path']);
    соответственно в $part[2] будет id категории 3го уровня
  10. Удали везде где найдешь в шаблонах (..catalogviewthemedefaulttemplate) в папках checkout, account

    Адрес 2:

    <tr>            <td><?php echo $entry_address_2; ?></td>            <td><input type="text" name="address_2" value="<?php echo $address_2; ?>" /></td></tr>

    Страна:

    <tr>            <td><span class="required">*</span> <?php echo $entry_country; ?></td>            <td><select name="country_id" id="country_id" onchange="$('select[name='zone_id']').load('index.php?route=account/create/zone&country_id=' + this.value + '&zone_id=<?php echo $zone_id; ?>');">                <option value="FALSE"><?php echo $text_select; ?></option>                <?php foreach ($countries as $country) { ?>                <?php if ($country['country_id'] == $country_id) { ?>                <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>                <?php } else { ?>                <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>                <?php } ?>                <?php } ?>              </select>              <?php if ($error_country) { ?>              <span class="error"><?php echo $error_country; ?></span>              <?php } ?></td>          </tr>

    Регион:

    <tr>            <td><span class="required">*</span> <?php echo $entry_zone; ?></td>            <td><select name="zone_id">              </select>              <?php if ($error_zone) { ?>              <span class="error"><?php echo $error_zone; ?></span>              <?php } ?></td>          </tr>
  11. как только не пытался, так и не смог вызвать вашу ошибку. Вспоминайте что еще изменяли и судя по отсутствующему

    $_['error_no_shipping']     = 'Нет доступных способов доставки. Пожалуйста, [url="index.php?route=information/contact"]свяжитесь с нами[/url] для устранения проблемы!';
    вы пытались избавиться от выбора доставки)
  12. эх как все сложно вы решили сделать)

    заходим в ..catalogcontrollermodulecategory.php

    ищем

    if ($this->category_id == $result['category_id']) {					$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">[b]' . $result['name'] . '[/b]</a>';				} else {					$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">' . $result['name'] . '</a>';				}

    меняем на

    if ($result['parent_id'] == 0 && $category_id == $result['category_id']) {				$output .= '[b]' . $result['name'] . '[/b]';			} else {				if ($this->category_id == $result['category_id']) {					$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">[b]' . $result['name'] . '[/b]</a>';				} else {					$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">' . $result['name'] . '</a>';				}			}

    наслаждаемся =)

    п.с. Если еще и

    $result['parent_id'] == 0 &&
    убрать из первого условия, то подсветятся все родительские категории, ну это так сказать "Наслаждаемся по вкусу")
  13. да тут знания php и не надо.Админка -> система -> локализация -> валютыудалите все ненужные, и добавьте свою, а еще лучше измените ту, что стоит по умолчанию (Рубль наверно)ну и максимально эффективно будет если еще из шаблона убрать выбор валют, тут знания HTML минимальные пригодятся.

  14. честно говоря не понял проблемы. Сейчас попробовал растянуть стандартный шаблон, закомментировав 1 строчку в css:

    #container {	// width: 960px;	margin-left: auto;	margin-right: auto;	text-align: left;}

    шаблон получился резиновым и проблем с улетающей картинкой нету, откуда должна и куда должна летит.

  15. ну видимо все таки трогал))либо в ..catalogviewthemedefaulttemplatemodulecart.tpl внизу JS код трогал (собственно он и заставляет картинки летать), либо что то делал с элементами html с id="image", id="module_cart" или id="temp", вспоминай)

  16. в ..catalogcontrollerproductproduct.php после:

    if ($product_info['quantity'] <= 0) {				$this->data['stock'] = $product_info['stock'];			} else {				if ($this->config->get('config_stock_display')) {					$this->data['stock'] = $product_info['quantity'];				} else {					$this->data['stock'] = $this->language->get('text_instock');				}			}

    вставить это

    $this->data['sku'] = $product_info['sku'];

    в ..catalogcontrollermodulecart.php изменить:

    $this->cart->add($this->request->post['product_id'], $this->request->post['quantity'], $option);
    на это

    $this->cart->add($this->request->post['product_id'], $this->request->post['quantity']*$this->request->post['sku'], $option);

    в ..catalogviewthemedefaulttemplateproductproduct.tpl:

    после

    <?php if ($manufacturer) { ?>              <tr>                <td>[b]<?php echo $text_manufacturer; ?>[/b]</td>                <td><a href="<?php echo str_replace('&', '&', $manufacturers); ?>"><?php echo $manufacturer; ?></a></td>              </tr>              <?php } ?>
    вставить

    <?php if ($sku) { ?>              <tr>                <td>[b]Штук в упаковке:[/b]</td>                <td><?php echo $sku; ?></a></td>              </tr>              <?php } ?>

    после

    <input type="text" name="quantity" size="3" value="1" />
    вставить

    <?php if ($sku) {echo ' x '.$sku;} ?>

    после

    <input type="hidden" name="product_id" value="<? echo $product_id; ?>" />
    вставить

    <input type="hidden" name="sku" value="<? echo $sku; ?>" />

    ну и для всех товаров прописать в админке "Единица учета складских запасов (SKU):" - использовал это поле(чтоб не изменять таблицу базы данных, все равно оно не понятно где используется) как раз для обозначения количества в одной упаковке.

    ну и собственно это так набросок на скорую руку, здесь не предусмотрено изменения количества в корзине (там так же можно указать любое количество), а так же проверка на правильность введенных данных в поле SKU и их отсутсвие, но сама добавлялка работает нормально... вроде)

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.