• Модуль: mobileapp
  • Путь к файлу: ~/bitrix/modules/mobileapp/lib/janative/entity/component.php
  • Класс: BitrixMobileAppJanativeEntityComponent
  • Вызов: Component::getContent
public function getContent(): string
{
	$env = $this->getEnvContent();
	$lang = $this->getLangDefinitionExpression();
	$componentFilePath = "{$this->path}/{$this->baseFileName}.js";
	$extensionContent = "";
	$availableComponents = "";
	if ($this->isBundleEnabled)
	{
		$bundleConfig = new Config("{$this->path}/dist/deps.bundle.php");
		foreach ($bundleConfig->dynamicData as $ext)
		{
			$extension = new Extension($ext);
			$extensionContent .= $extension->getResultExpression();
		}
		$componentFilePath = "{$this->path}/dist/{$this->baseFileName}.bundle.js";
	}
	else
	{
		$extensionContent = $this->getExtensionsContent();
		$availableComponents = "this.availableComponents = ".Utils::jsonEncode( $this->getComponentListInfo()).";";
	}

	$eventManager = EventManager::getInstance();
	$events = $eventManager->findEventHandlers("mobileapp", "onBeforeComponentContentGet");

	$additionalContent = "";
	if (count($events) > 0)
	{
		foreach ($events as $event)
		{
			$jsCode = ExecuteModuleEventEx($event, [$this]);
			if (is_string($jsCode)) {
				$additionalContent .= $jsCode;
			}

		}
	}

	$content = "
		$env
		$additionalContent
		$lang
		$availableComponents
		$extensionContent
	";

	$file = new File($componentFilePath);
	if ($file->isExists())
	{
		$componentCode = $file->getContents();
		$content .= "n" . $componentCode;
	}

	return $content;
}