Необходима помощь в функциях РНР

Тема в разделе "PHP", создана пользователем djodofin, 8 дек 2017.

Метки:
Модераторы: latteo
  1. djodofin

    djodofin

    Регистр.:
    6 июл 2017
    Сообщения:
    233
    Симпатии:
    98
    Необходима помощь знающих людей в функциях РНР...
    Есть правильное решение изменения функции РНР кода!
    Ниже ПРАВИЛЬНОЕ РЕШЕНИЕ...
    .$option.

    Изменяем НА:

    ;
    _e ($option);
    echo

    ИЛИ аналогично, правильно...

    .$field['s_name'].

    Изменяем НА код:

    ;
    _e ($field["s_name"]);
    echo

    Необходимо решение аналогичного изменения Этого кода РНР:

    . $field['s_name'].$attrItemCount_disp.

    И аналогичное изменения Этого РНР кода:

    .$option.$attrItemCount_disp.


    Кто компетентен, дайте пожалуйста правильный ответ... Можно в ЛС.
    Заранее спасибо.
     
  2. v1rus74

    v1rus74

    Moderator
    Регистр.:
    2 авг 2016
    Сообщения:
    75
    Симпатии:
    91
    Штааа? :alko: Можно с оригиналом ознакомиться, откуда это? Скриншот или док. Потому что я вообще ни хрена не понял..
     
  3. djodofin

    djodofin

    Регистр.:
    6 июл 2017
    Сообщения:
    233
    Симпатии:
    98
    Это с СМC Osclass
    Высылаю 2 файла - оригинал и частично измененный...
     

    Вложения:

  4. v1rus74

    v1rus74

    Moderator
    Регистр.:
    2 авг 2016
    Сообщения:
    75
    Симпатии:
    91
    Если я правильно понимаю, что у вас есть некая функция _e() и нужно, чтобы вместо вывода переменных в echo происходила обработка и вывод с помощью этой функции, то тогда так:
    PHP:
    _e($field['s_name']); _e($attrItemCount_disp);
    PHP:
    _e($option); _e($attrItemCount_disp);
     
  5. djodofin

    djodofin

    Регистр.:
    6 июл 2017
    Сообщения:
    233
    Симпатии:
    98
    Не работает...
     
  6. djodofin

    djodofin

    Регистр.:
    6 июл 2017
    Сообщения:
    233
    Симпатии:
    98
    В КОДЕ

    echo '<option value="'.osc_esc_html($option).'" '.($field['s_value']==$option?'selected="selected"':'').'>'.$option.$attrItemCount_disp.')</option>';

    КАК ДОЛЖНО БЫТЬ ВОТ ЭТО?!

    '.$option.$attrItemCount_disp.')

    И В КОДЕ

    echo '<option value="'.osc_esc_html($option).'" '.($field['s_value']==$option?'selected="selected"':'').'>'.$option.$attrItemCount_disp.'</option>';

    КАК ДОЛЖНО БЫТЬ ВОТ ЭТО?!

    '.$option.$attrItemCount_disp.'
     
  7. v1rus74

    v1rus74

    Moderator
    Регистр.:
    2 авг 2016
    Сообщения:
    75
    Симпатии:
    91
    Сейчас посмотрел внимательнее, так там вообще какая-то мешанина.
    PHP:
                if($search) {
                    echo 
    '<h6>'._e ($field["s_name"]).'</h6>';
                } else {
                    echo 
    '<label for="meta_'.$field['s_slug'].'">';
    _e ($field["s_name"]);
    echo
    ': </label>';
                }
    Например, этот код изначально наполовину неработоспособен, т.к. надо уже определиться, выводит ли функция _e() своё значение сама, либо надо вывести её значение через echo.
    Пробуйте тогда так:
    PHP:
     ._e($field['s_name'])._e($attrItemCount_disp).
    PHP:
     ._e($option)._e($attrItemCount_disp).
    Что-то появляется?
     
  8. romas_s

    romas_s

    Регистр.:
    9 ноя 2012
    Сообщения:
    256
    Симпатии:
    73
    _e - отличная функция!!! с отличным смысловым значением, сразу становится понятно зачем она создана и какие функции выполняет. Eee!!! и все!!!.)).
    Не уверен что можно использовать первым символом функции знак _

    Ваш пример вставки функции:
    echo '<h6>'._e ($field["s_name"]).'</h6>';

    правильно:
    echo '<h6>'._e. ($field["s_name"]).'</h6>';

    Если же 1-я строка является правильной и Вы передаете значение поля формы в функцию, то ищите косяк в Вашей функции. Я думаю что Ваша функция не умеет работать с массивами + нет проверки полученных данных, данные могут быть и не получены вовсе функцией, или может поступить бред, для которого нет обработки.

    Мы тут не маги, гадать на виртуальном коде не умеем ))).
    Поделитесь кодом файла ModelMetaCustom.php
    Я так понимаю именно в нем заключен код чудо функции _e

    $e_new_magic = $field["s_name"];
    _e ($e_new_magic);

    . _e ($option) .
    // разделение элементов вывода точкой (.) никто не отменял.
    echo $field['s_name'] // первый кусок кода который никак не зависит от 2-й его части, поскольку разделен .
    .$attrItemCount_disp.

    Нужно всегда помнить при создании функции, про область видимости переменной.
    Для получения данных функцией, нужно либо внутри функции объявить переменные как глобальные, либо передавать непосредственно в функцию при вызове.

    Скорее всего косяк в следующем: в Вашей чудо магической функции _e используются переменные, доступ к которым она не может получить))).
     
    Последнее редактирование: 8 дек 2017
    Капитан Немо нравится это.
  9. djodofin

    djodofin

    Регистр.:
    6 июл 2017
    Сообщения:
    233
    Симпатии:
    98
    Просто пустые ячейки... текстовых символов нет... Чуть позже попробую еще разок и отпишусь. Спасибо!
     
  10. djodofin

    djodofin

    Регистр.:
    6 июл 2017
    Сообщения:
    233
    Симпатии:
    98
    Вот ModelMetaCustom.php
     

    Вложения: