тогда опишите суть проблемы более понятным языком с примером кода и что получается на выходе, из того что вы написали вообще мало что понятно...
Макрос получающий значение, в данном случае стоимость услуг.
public function getToBasePrice($complectationId, $kmCount, $toType){
$basePrice = 0;
$dopPrice = 0;
if($toType == "m"){$dopPrice = 990;}
if($toType == "f"){$dopPrice = 990 + 1850;}
$dopPriceCUV = 0;
$CUVArray = array(1,2,3,16,17,37,38,39,40,41,42);
$searchCUV = array_search($complectationId, $CUVArray);
if($searchCUV !== false && $toType == "f"){$dopPriceCUV = 400;}
$getBasePriceQuery = mysql_query("SELECT to".$kmCount." FROM renaultToPrice WHERE complectationId = ".$complectationId."");
while ($getBasePrice = mysql_fetch_array($getBasePriceQuery)){
$basePrice = $getBasePrice[0];
}
return $basePrice + $dopPrice + $dopPriceCUV;
}
Пытаюсь вызвать его в другом макросе:
$ololo="%custom getToBasePrice(".$complectationId.",15,c)%";
return $ololo+ 111;
Если не производить с этой переменной никаких действий (сложение, вычитание и т.д.) то значение нормально возвращается. Но если попытаться сложить её с чем либо то ничего не выходит, т.к. вызов этого макроса еще не интерпретировался и равен строке "%custom getToBasePrice(".$complectationId.",15,c)%", а не результату выполнения макроса.
аааа, так вы прямо в коде метода вызываете)))
методы внутри других методов вызываются как-то так
$custom = cmsController::getInstance()->getModule($macros['custom']);
$ololo = $custom->getToBasePrice($complectationId, 15, 'c');
если сам метод getToBasePrice в кастомс, то наверное можно и так
$ololo = $this->getToBasePrice($complectationId, 15, 'c');