Получить атрибут по теме- & gt; icon_id

Я пытаюсь показать значок темы по xml.

Как я могу получить значок с правой иконки идентификатора. Теперь он всегда загружает id 0.

Спасибо вам за помощь.

Я пытался и искал предложенные примеры, но не повезло.


XML:

<icons type="user" width="48" height="48">
<icon id="0" name="default" published="1" b2="file" b3="file" fa="file"  src="user/default.png" />
<icon id="1" name="exclamation" published="1" b2="notification-circle" b3="exclamation-sign" fa="exclamation-circle"  src="user/exclamation.png" />
<icon id="2" name="question" published="1" b2="question-sign" b3="question-sign" fa="question-circle" src="user/question.png" />
<icon id="3" name="idea" published="1" b2="lamp" b3="lamp" fa="lightbulb-o"  src="user/idea.png" />
<icon id="4" name="love" published="1" b2="heart" b3="heart" fa="heart"  src="user/love.png" />
</icons>

PHP:

        $topicicon = $topic->icon_id;
$xmlfile = topicicons.xml';

if (is_file($xmlfile))
{
$xml = simplexml_load_file($xmlfile);

if (isset($xml->icons))
{
foreach ($xml->icons as $icons)
{

foreach ($icons->icon as $icon)
{
$attributes = $icon->attributes();
$icon       = new stdClass();
$icon->id   = (int) $attributes->id;
$icon->b2   = (string) $attributes->b2;
$icon->b3   = (string) $attributes->b3;
$icon->fa   = (string) $attributes->fa;
$icon->src  = (string) $attributes->src;

if ($topicicontype == 'B2')
{
return '<span class="icon icon-' . $icon->b2. '"></span>';
}
elseif ($topicicontype == 'B3')
{
return '<span class="glyphicon glyphicon-' . $icon->b3 . '"></span>';
}
elseif ($topicicontype == 'fa')
{
return '<i class="fa fa-' . $icon->fa . '"></i>';
}
else
{
return '<img src="' . $icon->src . '" alt="topicicon" />';
}
}
}
}
}

0

Решение

Я только что попытался var_dump / print_r объекта, и кажется, что он не загружает корневой элемент с его именем, поэтому проверка его имени (требует php 5.1.3)

РЕДАКТИРОВАТЬ: поэтому, если я правильно понимаю, вы хотите вернуть только значок, который $topicicon = $topic->icon_idтак вот обновленный код

if (is_file($xmlfile))
{
$xml = simplexml_load_file($xmlfile);

if (isset($xml) && $xml->getName()=="icons")
{
$icon = $xml->xpath('/icons/icon[@id='.$topicicon.']');
$attributes = $icon[0]->attributes();
$icon       = new stdClass();
.. your conditions here
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]