Перейти к содержанию
Официальный форум поддержки Simpla

chukcha

Пользователь
  • Публикаций

    20
  • Зарегистрирован

  • Посещение

Информация о вас

  • Фриланс
    Программирование

Посетители профиля

69 просмотров профиля
  1. 100 запросов в день - (бесплатных) устраивает? Основная трудность - интеграция в шаблон Т.е. прописывание необходимых скриптов и стилей и связь с полями оформления заказа. зы. не делал, видел интеграцию для другого движка.
  2. Вы уж сразу давайте договаривайте о принципиально важном дефекте., если Вы его видите или подозреваете.
  3. Но регулярку можно доработать /[^\d\w_-~\.]+/u
  4. при самотестировании встроенных систем предполагается, что существует принцип доверия к источнику идеальных сигналов, или же предполагается, что некий объект не может быть на момент начала тестирования неисправным. В данном случае метод add_category (add_product) и являются идеальными. Они являются родителями всех остальных сущностей - категория, товар, и, это касается также, брендов ( add_brand). методы update_, как видно из старт топика - не идеальны. Возвращаясь к регуляркам... Не ставилась задача написать универсальную регулярку, yr4ik - привел - краткую, понятную, красивую. Но
  5. Т.е. претензий к методу addCategory - нет А к моему - есть. Где логика? И претензий к strtolower тоже нет? Вы спросили как это сделать - я вам показал путь и способ. Или вы хотите получить готовый код? Или здесь обсуждение Ошибок и безопасности?
  6. В ответ я показал откуда ноги растут... Из метода add - Вы и на это не среагировали?
  7. Ну... я больше скажу что strtolower не работает с UTF-8 - поэтому в регулярке использование кириллических символов бессмыслено (если не установлена локаль, но еще и не каждый хостинг это предоставляет) т.е. было верным использование mb_strtolower
  8. я не вставлял - копипаст из public function add_category($category) { $category = (array)$category; if(empty($category['url'])) { $category['url'] = preg_replace("/[\s]+/ui", '_', $category['name']); $category['url'] = strtolower(preg_replace("/[^0-9a-zа-я_]+/ui", '', $category['url'])); }
  9. Да я проверил на локалке Первый способ - действительно, я согласился - не для категорий, а для товаров Все дальнейшее - как вы говорите? - пользователи не косячат? у Вас в профиле написано - программирование - я в шоке.. public function update_category($id, $category) { $category = (array)$category; $category['url'] = strtolower(preg_replace("/[^0-9a-zа-я_\-]+/ui", '', $category['url'])); Если уж хотите - милости прошу вот только не надо, про не работает.
  10. Кстати, при создании категории последний пробел заменится на подчеркивание, а при редактировании, он должен удалиться регуляркой.
  11. Какая та же ошибка? А теперь по строкам... if(empty($category['url'])) // проверили на пустое { $category['url'] = preg_replace("/[\s]+/ui", '_', $category['name']); // вставили из имени категории } // заменили (удалили) все что НЕ цифра, не символ a-zа-я и не подчеркивание, кстати, а где '-'. (ну нет, так нет) $category['url'] = strtolower(preg_replace("/[^0-9a-zа-я_]+/ui", '', $category['url'])); Но если уж очень хочется - то $category['url'] = trim($category['url']);
  12. [offtop] К сожалению, я не знаю об опыте пользователей simpla Но г-на Kors к ним (неопытным) нельзя отнести [/offtop]
  13. Т.е. в api/Categories.php сделать по аналогии уже нельзя? $category = (array)$category; if(empty($category['url'])) { $category['url'] = preg_replace("/[\s]+/ui", '_', $category['name']); } $category['url'] = strtolower(preg_replace("/[^0-9a-zа-я_]+/ui", '', $category['url'])); И по аналогии в методе public function update_category($id, $category)
  14. При добавлении нового товара работает При update public function update_product($id, $product) { $product['url'] = strtolower(preg_replace("/[^0-9a-zа-я\-]+/ui", '', $product['url'])); $query = $this->db->placehold("UPDATE __products SET ?% WHERE id in (?@) LIMIT ?", $product, (array)$id, count((array)$id)); if($this->db->query($query)) return $id; else return false; } Кроме того, хорошим тоном было бы еще проверить и на empty($product['url']); Т.е. скопировав из add if(empty($product['url'
  15. в api/Products.php добавьте $product['url'] = trim($product['url']); перед if($this->db->query("INSERT INTO __products SET ?%", $product)) или if(empty($product['url'])) { $product['url'] = preg_replace("/[\s]+/ui", '-', $product['name']); } $product['url'] = strtolower(preg_replace("/[^0-9a-zа-я\-]+/ui", '', $product['url']));
×
×
  • Создать...