Создайте JQcloud с массивом PHP - PullRequest
0 голосов
/ 14 декабря 2018

Я использую утилиту jQCloud для генерации облака слов, но я не могу этого сделать.

Вот код моего контроллера:

public function consultar(Request $request)
{
$entidad = $request['entidad'];
$result = exec("python3 /root/TFGArchivos/ScriptFinal.py -o $entidad");

$opiniones = array();
$palabras = array();
foreach (json_decode($result) as $valor) {
    if ($valor == 1 || $valor == -1) {
        $opiniones[] = $valor;
    }
    else {
        $palabras[] = $valor;
    }
}

return view("resultado_entidad", ['entidad'=>$request['entidad'],"palabras"=>$palabras]);
}

А вот здесь ...Код моего взгляда:

<div id="nube" name="nube" style="width: 550px; height: 350px; position: relative;"></div>

<script>
window.onload = function () 
{
var array = <?php echo json_encode($palabras); ?>;
$("#nube").jQCloud(array);
}
</script>

Содержимое $ palabras после foreach:

Array ( [0] => {text: 'deben', weight:1} [1] => {text: 'acabo', weight:1} [2] => {text: 'texto', weight:1} [3] => {text: 'arrepiento', weight:1} [4] => {text: 'quichua', weight:2} ... ) ; 

Содержимое массива перед вызовом jQCloud:

{text: 'cs', weight:1},{text: 'adelante', weight:2},{text: 'acosar', weight:1},{text: 'traves', weight:1},{text: 'aviso', weight:1},{text: 'voy', weight:8},{text: 'priv', weight:1}... 

Я публикую здесь короткую версию обоих, потому что они слишком длинные.

Если я объявляю массив в Javascript и передаю этот массив в jQcloud, он отлично работает.

Спасибо!

1 Ответ

0 голосов
/ 14 декабря 2018

Попробуйте это,

    <div id="nube" name="nube" style="width: 550px; height: 350px; position: 
    relative;"></div>

    <script>
    window.onload = function () 
    {
        var array = [<?php echo json_encode($palabras); ?>];
        $("#nube").jQCloud(array);
    }
    </script>

Также проверьте последовательность js при включении, она должна быть

    <link rel="stylesheet" type="text/css" href="jqcloud.css" />
    <!-- jqcloud css path -->
    <script type="text/javascript" 
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script type="text/javascript" src="jqcloud/jqcloud-1.0.4.js"></script>
    <!-- jqcloud js path -->
...